⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simplemesh.cpp

📁 java实现的简单的分形树。简单易学!是学习分形知识的很好的例子。其java语法简单
💻 CPP
字号:
#include "stdafx.h"
#include "SimpleMesh.h"


CSimpleMesh::CSimpleMesh( const CResourceId& meshID )
:	mMeshID(meshID)
{
	mAABB = RGET_MESH(meshID)->getTotalAABB();
}

void CSimpleMesh::render( eRenderMode mode )
{
	if( preRender() ) {
		TMeshVector& vv = mParts[mode];
		int n = vv.size();
		for( int i = 0; i < n; ++i ) {
			CRenderableMesh* r = vv[i];
			G_RENDERCTX->attach( *r );
		}
	}
}

void CSimpleMesh::addMeshPart( int attrID, const CResourceId& texID )
{
	CMesh* mesh = RGET_MESH(mMeshID);
	CD3DTexture& tex = *RGET_TEX(texID);

	CRenderableMesh* m;
	m = new CRenderableMesh( *mesh, attrID, &mMatrix.getOrigin() );
	mParts[BASE].push_back( m );
	m->getParams().setEffect( *RGET_FX("mesh") );
	m->getParams().addMatrix4x4Ref( "mWorld", mMatrix );
	m->getParams().addMatrix4x4Ref( "mWorldView", mWorldView );
	m->getParams().addMatrix4x4Ref( "mWVP", mWVP );
	m->getParams().addTexture( "tBase", tex );

	m = new CRenderableMesh( *mesh, attrID, &mMatrix.getOrigin() );
	mParts[COLOR].push_back( m );
	m->getParams().setEffect( *RGET_FX("meshColorOnly") );
	m->getParams().addMatrix4x4Ref( "mWorld", mMatrix );
	m->getParams().addMatrix4x4Ref( "mWorldView", mWorldView );
	m->getParams().addMatrix4x4Ref( "mWVP", mWVP );
	m->getParams().addTexture( "tBase", tex );
	
	m = new CRenderableMesh( *mesh, attrID, &mMatrix.getOrigin() );
	mParts[NORMALZ].push_back( m );
	m->getParams().setEffect( *RGET_FX("fallbackNormalZ") );
	m->getParams().addMatrix4x4Ref( "mWorld", mMatrix );
	m->getParams().addMatrix4x4Ref( "mWVP", mWVP );

	m = new CRenderableMesh( *mesh, attrID, &mMatrix.getOrigin() );
	mParts[SHADOW].push_back( m );
	m->getParams().setEffect( *RGET_FX("meshShadow") );
	m->getParams().addMatrix4x4Ref( "mWVP", mWVP );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -