[OGRE]看备注学编程(01):一个锃光瓦亮的大脑袋

完整项目下载:http://download.csdn.net/detail/wxg694175346/6333697


头文件EnvMapping.h:

#include "ExampleApplication.h"

class EnvMapApplication : public ExampleApplication
{
public:
	EnvMapApplication() {}

protected:
	// 重新实现createScene函数,
	void createScene(void)
	{
		// 设置环境光
		mSceneMgr->setAmbientLight(ColourValue(0.5, 0.5, 0.5));
		// 创建点光源
		Light* l = mSceneMgr->createLight("MainLight");
		// 设置点光源 l 的位置,默认颜色为白色
		l->setPosition(20,80,50);
		// 读入 ogrehead.mesh模型文件,创建为一个Entity
		Entity *ent = mSceneMgr->createEntity("head", "ogrehead.mesh");
		// 设置食人魔Enmy的材质为指定材质(环境贴图)
		ent->setMaterialName("Examples/SphereMappedRustySteel");
		// 将食人魔Enmy连接到场景根节点上
		mSceneMgr->getRootSceneNode()->createChildSceneNode()->attachObject(ent);
	}
};


源文件EnvMapping.cpp:

#include "EnvMapping.h"

// 判断编译平台 ,ogre3D支持跨平台
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
#define WIN32_LEAN_AND_MEAN
#include "windows.h"
#endif

#ifdef __cplusplus
extern "C" {
#endif

	// 判断编译平台 ,ogre3D支持跨平台
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
	// Win32平台
	INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
#else
	// 非Win32平台
	int main(int argc, char **argv)
#endif
	{
		// 创建应用程序对象
		EnvMapApplication app;

		try {
			//执行go函数,开始应用程序过程
			app.go();
		} 
		//异常处理
		catch( Exception& e )
		{
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
			// Win32平台异常提示
			MessageBox( NULL, e.getFullDescription().c_str(), "An exception has occured!", MB_OK | MB_ICONERROR | MB_TASKMODAL);
#else
			//非Win32平台异常提示
			std::cerr << "An exception has occured: " << e.getFullDescription();
#endif
		}
		return 0;
	}
#ifdef __cplusplus
}
#endif

效果截图:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值