00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "System/stdafx.h"
00026 #include "Translator/Picture/TranslationPicture.h"
00027 #include "Graphics/Scene/Scene.h"
00028 #include "Graphics/Picture/PictureManager.h"
00029 #include "Core/Codec/Tga/TargaLoader.h"
00030
00031 namespace LampForMaya{
00032
00033
00034
00035 TranslationPicture::TranslationPicture(const String& initializeName,
00036 const String& initializePath) :
00037 name_(initializeName), path_(initializePath){
00038 }
00039
00040
00041 TranslationPicture::~TranslationPicture(){
00042 }
00043
00044
00045 bool TranslationPicture::convertToLamp(Scene* scene){
00046 PictureManager* pictureManager = scene->getPictureManager();
00047 TargaLoader loader(path_);
00048 if(!loader.loadHeader()){
00049 MayaErrorOut(String("TranslationPicture::convertToLamp() "
00050 "ピクチャの読み込みに失敗しました ") + path_);
00051 return false;
00052 }
00053 Picture* picture;
00054 if(loader.hasAlpha()){
00055 PictureRGBA8* pictureRGBA8 = pictureManager->createPictureRGBA8(name_);
00056 picture = pictureRGBA8;
00057 pictureRGBA8->setSize(loader.getSize());
00058 loader.loadImage(pictureRGBA8->getImageBuffer());
00059 }else{
00060 PictureRGB8* pictureRGB8 = pictureManager->createPictureRGB8(name_);
00061 picture = pictureRGB8;
00062 pictureRGB8->setSize(loader.getSize());
00063 loader.loadImage(pictureRGB8->getImageBuffer());
00064 }
00065 picture->setPath(path_);
00066 return true;
00067 }
00068
00069 }
00070