Ogre的渲染流程,在渲染时材质是如何起作用的,材质加载和解析


一个pass,最多16层贴图,8盏灯

OgreConfig.h

/** Define max number of texture layers allowed per pass on any card.

*/

#define OGRE_MAX_TEXTURE_LAYERS 16

/** Define max number of lights allowed per pass.

*/

#define OGRE_MAX_SIMULTANEOUS_LIGHTS 8


好多管理器啊!


13.在渲染的时候,材质是如何起作用的?

A:

一个物体的渲染看这里

SceneManager::renderSingleObject

在QueuedRenderableCollection::acceptVisitorGrouped里

// Visit Pass - allow skip 设置pass

if (!visitor->visit(ipass->first))

continue;

RenderableList* rendList = ipass->second;

RenderableList::const_iterator irend, irendend;

irendend = rendList->end();

// 迭代每个SubEntity,即每个SubMesh

for (irend = rendList->begin(); irend != irendend; ++irend)

{

// Visit Renderable 用设置的pass渲染

visitor->visit(const_cast<Renderable*>(*irend));

}

如OgreHead.mesh里


在SceneManager::_setPass这里把gpu程序绑到render system上的

if (pass->hasVertexProgram())

{

mDestRenderSystem->bindGpuProgram(pass->getVertexProgram()->_getBindingDelegate());

// bind parameters later since they can be per-object

// does the vertex program want surface and light params passed to rendersystem?

passSurfaceAndLightParams = pass->getVertexProgram()->getPassSurfaceAndLightStates();

}

就是这么起作用的!


14.材质加载和解析

这个是程序一开始就加载配置文件

ogre-v1-6-2/ogre/Samples/Common/bin/resources.cfg

# Resource locations to be added to the 'boostrap' path

# This also contains the minimum you need to use the Ogre example framework

[Bootstrap]

Zip=http://www.cnblogs.com/Media/packs/OgreCore.zip

# Resource locations to be added to the default path

[General]

FileSystem=http://www.cnblogs.com/Media

FileSystem=http://www.cnblogs.com/Media/fonts

FileSystem=http://www.cnblogs.com/Media/materials/programs

FileSystem=http://www.cnblogs.com/Media/materials/scripts

FileSystem=http://www.cnblogs.com/Media/materials/textures

FileSystem=http://www.cnblogs.com/Media/models

FileSystem=http://www.cnblogs.com/Media/overlays

FileSystem=http://www.cnblogs.com/Media/particle

FileSystem=http://www.cnblogs.com/Media/gui

FileSystem=http://www.cnblogs.com/Media/DeferredShadingMedia

FileSystem=http://www.cnblogs.com/Media/PCZAppMedia

Zip=http://www.cnblogs.com/Media/packs/cubemap.zip

Zip=http://www.cnblogs.com/Media/packs/cubemapsJS.zip

Zip=http://www.cnblogs.com/Media/packs/dragon.zip

Zip=http://www.cnblogs.com/Media/packs/fresneldemo.zip

Zip=http://www.cnblogs.com/Media/packs/ogretestmap.zip

Zip=http://www.cnblogs.com/Media/packs/skybox.zip


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值