12.Ogre的渲染流程?

A:

一个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

转载于:https://www.cnblogs.com/lai3d/archive/2010/01/21/1653110.html

每天花30分钟看OGRE--(13)Ogre的渲染流程,在渲染时材质是如何起作用的,材质加载和解析...相关推荐

  1. 剑桥学霸强烈推荐:每天花20分钟看这些视频,英语水平暴增

    第一次见到娜娜,是在我组织的一次英语沙龙上. 她大学毕业不久,举着话筒说:"我的英语不可能好了,是我太笨了!" "那些整天吃喝玩乐的同学,都顺利入职外企工作,而我每天花8 ...

  2. 30 分钟看懂 PCA 主成分分析

    来源:算法美食屋 本篇和大家分享一下PCA主成分分析的概念和在Python中的使用.之前也分享过两篇文章,也非常不错,可以结合起来一起看,加深理解. 一文读懂PCA算法的数学原理 讲讲降维算法:PCA ...

  3. 30分钟看懂XGBoost的基本原理

    作者 | 梁云1991 转载自Python与算法之美(ID: Python_Ai_Road) 一.XGBoost和GBDT xgboost是一种集成学习算法,属于3类常用的集成方法(bagging,b ...

  4. 30 分钟看懂 CatBoost(Python代码)

    CatBoost和XGBoost.LightGBM并称为GBDT的三大主流神器,都是在GBDT算法框架下的一种改进实现. 正如其名字所说那样,CatBoost主要是在类别特征上的处理上做了很多的改进. ...

  5. 30分钟?不需要,轻松读懂IL

    先说说学IL有什么用,有人可能觉得这玩意平常写代码又用不上,学了有个卵用.到底有没有卵用呢,暂且也不说什么学了可以看看一些语法糖的实现,或对.net理解更深一点这些虚头巴脑的东西.最重要的理由就是一个 ...

  6. swiftui_使用SwiftUI在30分钟内制作一个应用

    swiftui This post was first delivered as a live coding presentation at a Telstra Purple Back2Base ev ...

  7. 码书:入门中文NLP必备干货:5分钟看懂“结巴”分词(Jieba)

    导读:近年来,随着NLP技术的日益成熟,开源实现的分词工具越来越多,如Ansj.盘古分词等.在本文中,我们选取了Jieba进行介绍和案例展示,主要基于以下考虑: 社区活跃.截止本文发布前,Jieba在 ...

  8. 从JVM看类的加载过程与对象实例化过程

    一. 类的加载过程 1. 类的加载过程大致是个什么过程? 我们编写产生.java文件,这些.java文件经过Java编译器编译成拓展名为.class的文件,.class文件中保存着Java代码经转换后 ...

  9. pyqt5从子目录加载qrc文件_【JVM系统学习之路】一篇看懂类加载

    JVM系统学习之路系列演示代码地址:https://github.com/mtcarpenter/JavaTutorial 嗨喽,小伙伴大家好,我是小春哥,今天是打卡 [JVM系统学习之路] 的第二篇 ...

  10. chrome渲染流程(自己看的,写的比较乱)

    1.渲染流程 由于渲染机制过于复杂,所以渲染模块在执行过程中会被划分为很多子阶段,输入HTML经过这些子阶段,最后输出像素,我们把这样一个处理流程叫做渲染流水线,流水线可分为如下几个子阶段: 构建do ...

最新文章

  1. Hbase 和 MySQL 的区别是什么?一文深度对比!
  2. 很安逸的离线API文档查询工具Dash和Zeal
  3. java window.onload_从HTML中的window.onload调用webpacked代码
  4. Linux 命令 查看监听端口
  5. BZOJ3123: [Sdoi2013]森林
  6. 20190608笔试题のCSS-属性继承
  7. PHP在浏览器中被拒绝请求,php控制请求页面浏览器缓
  8. elasticsearch restful api操作使用指南
  9. 菜鸟学习Spring——初识Spring
  10. C# Windows Form编程
  11. java 多线程 银行排队_3.采用多线程模拟银行排队叫号
  12. watch港版微信无法连接到服务器,Apple Watch微信打不开怎么办
  13. 赫茨伯格的双因素激励理论(1966)--zt
  14. built a JNCIS LAB系列:Chapter 1 Routing Policy
  15. 对Volterra级数公式的理解-1
  16. 如何搭建自己的内测分发平台?有可以直接用的内测分发平台吗?
  17. Ayla CEO大卫.弗里德曼:你应该了解的五种物联网大数据!
  18. pandas常用命令
  19. Ubantu美化桌面类似Mac
  20. PHP单例模式 构造方法

热门文章

  1. raft算法_golang-raft算法理论与实践
  2. (转载)用C#实现MySQL建库及建表
  3. sitemap.xml文件生成工具
  4. 专线维护 07/11
  5. HTML中meta的作用
  6. Android Studio .jar 包的引用方式(导入方式)
  7. HTML5+CSS把footer固定在底部
  8. 洛谷P2678 跳石头
  9. 【洛谷P1800】software_NOI导刊2010提高(06)
  10. [译] 什么阻塞了 DOM?