本文整理汇总了C++中BitmapTex::SetMapName方法的典型用法代码示例。如果您正苦于以下问题:C++ BitmapTex::SetMapName方法的具体用法?C++ BitmapTex::SetMapName怎么用?C++ BitmapTex::SetMapName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BitmapTex
的用法示例。
在下文中一共展示了BitmapTex::SetMapName方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testStream
Texmap* M2Importer::createTexture(LPCTSTR fileName)
{
BitmapManager* bmpMgr = TheManager;
size_t pathSlashPos = m_modelName.find_last_of('\\');
string pathName = m_modelName.substr(0, pathSlashPos + 1);
// 将贴图文件名改为当前目录下的tga文件
string origFileName = fileName;
size_t dotPos = origFileName.find_last_of('.');
if (dotPos != string::npos)
origFileName = origFileName.substr(0, dotPos);
size_t slashPos = origFileName.find_last_of('\\');
if (slashPos != string::npos)
{
++slashPos;
origFileName = origFileName.substr(slashPos, origFileName.length() - slashPos);
}
pathName += string("texture\\");
pathName += origFileName;
pathName.append(".tga");
m_logStream << "Model Texture Name: " << pathName << endl;
TSTR newFileName = pathName.c_str();
if (origFileName.length())
{
// 改成用系统的检查文件是否存在的API
ifstream testStream(newFileName, ios::binary | ios::in);
if (testStream.fail())
{
string errstr = string("Load texture error. filename: ") + string(newFileName);
errstr += string("\n\nOriginal file: ");
errstr += string(fileName);
MessageBox(NULL, errstr.c_str(), "TBD: Error.", MB_OK);
m_logStream << errstr << endl;
}
else
testStream.close();
}
if (bmpMgr->CanImport(newFileName))
{
BitmapTex* bmpTex = NewDefaultBitmapTex();
bmpTex->SetName(newFileName);
bmpTex->SetMapName(newFileName);
bmpTex->SetAlphaAsMono(TRUE);
bmpTex->SetAlphaSource(ALPHA_FILE);
return bmpTex;
}
return 0;
}
示例2: createTexture
//------------------------------
BitmapTex* MaterialCreator::createTexture( const COLLADAFW::EffectCommon& effectCommon, const COLLADAFW::Texture& texture )
{
BitmapTex* bitmapTexture = NewDefaultBitmapTex();
COLLADAFW::SamplerID samplerId = texture.getSamplerId();
const COLLADAFW::Sampler* sampler = effectCommon.getSamplerPointerArray()[ samplerId ];
const COLLADAFW::UniqueId& imageUniqueId = sampler->getSourceImage();
const COLLADAFW::Image* image = getFWImageByUniqueId( imageUniqueId );
if ( !image )
return 0;
COLLADABU::URI imageUri( getFileInfo().absoluteFileUri, image->getImageURI().getURIString() );
COLLADABU::NativeString imageFileName( imageUri.toNativePath().c_str(), COLLADABU::NativeString::ENCODING_UTF8 );
bitmapTexture->SetMapName(const_cast<char*>(imageFileName.c_str()));
bitmapTexture->LoadMapFiles(0);
UVGen* uvGen = bitmapTexture->GetTheUVGen();
StdUVGen* stdUVGen = (StdUVGen*)uvGen;
// reset all flags
//stdUVGen->SetFlag(U_WRAP|V_WRAP, 1);
//stdUVGen->SetFlag(U_MIRROR|V_MIRROR, 0);
int tiling = 0;
if ( sampler->getWrapS() == COLLADAFW::Sampler::WRAP_MODE_WRAP )
{
tiling += 1<<0;
}
else if ( sampler->getWrapS() == COLLADAFW::Sampler::WRAP_MODE_MIRROR )
{
tiling += 1<<2;
}
if ( sampler->getWrapT() == COLLADAFW::Sampler::WRAP_MODE_WRAP )
{
tiling += 1<<1;
}
else if ( sampler->getWrapT() == COLLADAFW::Sampler::WRAP_MODE_MIRROR )
{
tiling += 1<<3;
}
stdUVGen->SetTextureTiling(tiling);
return bitmapTexture;
}
示例3: SetEnvironmentMap
void UtilTest::SetEnvironmentMap()
{
// Make a bitmap texture map.
BitmapTex *map = NewDefaultBitmapTex();
// Get the UVGen
StdUVGen *uvGen = map->GetUVGen();
// Set up the coords. to be screen environment.
uvGen->SetCoordMapping(UVMAP_SCREEN_ENV);
// Set the bitmap file.
map->SetMapName(_T("A_MAX.TGA"));
// Make this the new environment map.
ip->SetEnvironmentMap(map);
}
示例4: CreateTexture
Texmap* NifImporter::CreateTexture(const string& filename)
{
if (filename.empty())
return NULL;
BitmapManager *bmpMgr = TheManager;
if (bmpMgr->CanImport(filename.c_str())){
BitmapTex *bmpTex = NewDefaultBitmapTex();
string name = filename;
if (name.empty()) {
TCHAR buffer[MAX_PATH];
_tcscpy(buffer, PathFindFileName(filename.c_str()));
PathRemoveExtension(buffer);
name = buffer;
}
bmpTex->SetName(name.c_str());
bmpTex->SetMapName(const_cast<TCHAR*>(FindImage(filename).c_str()));
bmpTex->SetAlphaAsMono(TRUE);
bmpTex->SetAlphaSource(ALPHA_DEFAULT);
bmpTex->SetFilterType(FILTER_PYR);
if (showTextures) {
bmpTex->SetMtlFlag(MTL_TEX_DISPLAY_ENABLED, TRUE);
bmpTex->ActivateTexDisplay(TRUE);
bmpTex->NotifyDependents(FOREVER, PART_ALL, REFMSG_CHANGE);
}
if (UVGen *uvGen = bmpTex->GetTheUVGen()){
uvGen->SetTextureTiling(0);
}
return bmpTex;
}
return NULL;
}
示例5: LoadMaterials
void Import::LoadMaterials (dScene& scene, MaterialCache& materialCache)
{
dScene::Iterator iter (scene);
for (iter.Begin(); iter; iter ++) {
dScene::dTreeNode* const materialNode = iter.GetNode();
dNodeInfo* const info = scene.GetInfoFromNode(materialNode);
if (info->IsType(dMaterialNodeInfo::GetRttiType())) {
MaterialProxi material;
material.m_mtl = NewDefaultStdMat();
StdMat* const stdMtl = (StdMat*)material.m_mtl;
dMaterialNodeInfo* const materialInfo = (dMaterialNodeInfo*) info;
stdMtl->SetName(materialInfo->GetName());
dVector ambient (materialInfo->GetAmbientColor());
dVector difusse (materialInfo->GetDiffuseColor());
dVector specular (materialInfo->GetSpecularColor());
float shininess (materialInfo->GetShininess());
//float shininessStr (materialInfo->GetShinStr());
float transparency (materialInfo->GetOpacity());
stdMtl->SetAmbient(*((Point3*)&ambient), 0);
stdMtl->SetDiffuse(*((Point3*)&difusse), 0);
stdMtl->SetSpecular(*((Point3*)&specular), 0);
stdMtl->SetShinStr(shininess / 100.0f, 0);
stdMtl->SetOpacity(transparency, 0);
if (materialInfo->GetDiffuseTextId() != -1) {
dScene::dTreeNode* textNode = scene.FindTextureByTextId(materialNode, materialInfo->GetDiffuseTextId());
if (textNode) {
_ASSERTE (textNode);
// BitmapTex* bmtex;
// const TCHAR* txtName;
dTextureNodeInfo* textureInfo = (dTextureNodeInfo*) scene.GetInfoFromNode(textNode);
TCHAR txtNameBuffer[256];
sprintf (txtNameBuffer, "%s/%s", m_path, textureInfo->GetPathName());
const TCHAR* txtName = txtNameBuffer;
BitmapTex* bmtex = (BitmapTex*)NewDefaultBitmapTex();
bmtex->SetMapName((TCHAR*)txtName);
txtName = textureInfo->GetPathName();
bmtex->SetName (txtName);
bmtex->GetUVGen()->SetMapChannel(1);
stdMtl->SetSubTexmap(ID_DI, bmtex);
stdMtl->SetTexmapAmt(ID_DI, 1.0f, 0);
stdMtl->EnableMap(ID_DI, TRUE);
// const char* materialOpanacity = segment.m_opacityTextureName;
// if (materialOpanacity[0]) {
// BitmapTex* bmtex;
// const TCHAR* txtName;
//
// txtName = segment.m_opacityPathName;
// bmtex = (BitmapTex*)NewDefaultBitmapTex();
// bmtex->SetMapName((TCHAR*)txtName);
//
// txtName = materialName;
// bmtex->SetName (txtName);
// bmtex->GetUVGen()->SetMapChannel(2);
//
// stdMtl->SetSubTexmap(ID_OP, bmtex);
// stdMtl->SetTexmapAmt(ID_OP, 1.0f, 0);
// stdMtl->EnableMap(ID_OP, TRUE);
// }
// materialCache.AddMaterial(material, segment.m_textureName);
}
}
materialCache.AddMaterial(material, materialInfo->GetId());
}
}
}