CEGUI渲染概论
来源:互联网 发布:淘宝店铺怎么加入村淘 编辑:程序博客网 时间:2024/05/16 06:26
1、几个重要的类
Direct3D9Renderer 负责CEGUI的Render的接口
RenderingSurface 渲染接口类
RenderingWindow 可渲染窗口
RenderTarget的继承关系相关类。
Direct3D9GeometryBuffer类
其方法
void draw() const; //渲染
void setTranslation(const Vector3& t);
void setRotation(const Vector3& r);
void setPivot(const Vector3& p); //旋转轴
void setClippingRegion(const Rect& region); //裁剪区域
void appendVertex(const Vertex& vertex); //加入顶点
void appendGeometry(const Vertex* const vbuff, uint vertex_count);
//加入顶点BUFF
void setActiveTexture(Texture* texture); //设置当前互动纹理
void reset();
Texture* getActiveTexture() const;
uint getVertexCount() const; //顶点个数
uint getBatchCount() const; //BatchInfos个数,BatchInfos存储纹理信息
void setRenderEffect(RenderEffect* effect); //当前使用的RenderEffect
RenderEffect* getRenderEffect();
由于公司不能上传图片,因此这些需要查阅相关CEGUI代码。不过这些类绝对关旭CEGUI渲染
2、CGUI Image渲染流程:
Draw过程:
1、渲染区域与目标区域计算偏移。
2、图片渲染区域(Rect)与纹理渲染区域(Rect)的计算。
3、 构造该图片的顶点信息,Vectex[6] 2个三角形,结构体包括顶点坐标,顶点颜色,顶点纹理UV。
4、 图片相关联GeometryBuffer设置当前使用纹理,以及加入刚才构造的顶点信息。
Image Draw并没有做出渲染,只是一些渲染计算,真正渲染要交给GeometryBuffer的Draw做出。这里重复其Draw过程:
1、SetScissorRect设置裁剪区域。
2、世界坐标变换。
3、设置纹理混合方式。
4、RenderEffect的PASS的调用
5、纹理,已经纹理相关顶点渲染
3、CEGUI窗口的渲染流程:
其实就是System中的renderGUI过程
1、 beginRendering:
(1)设置顶点格式。
(2) 设置PS和VS,这里都是空,他没有Shader处理,依然是固定管线。
(3)SetRenderState,设置device状态
(4)SetSamplerState,设置纹理寻址方式
(5)SetTextureStageState,设置颜色计算方式。
(6)SetTextureStageState,Alpha的计算方式。
(7)SetSamplerState,纹理Filter
(8) 设置颜色混合不取纹理颜色,打开Alpha混合,
(9)设置视图矩阵VIEW
2、 获取ActiveSheet的RenderingSurface,并清除图形信息
3、 获取Window的上下文相关信息,是通过windowRenderer获取的,其中包括RenderingSurface,窗体本身,当前窗体坐标,在Queue等级。这里解释下RenderQueueID其标记Queue的渲染等级。
4、 清空clearGeometry。
5、 渲染其本身,然后渲染其子窗口。
6、阐述下Render的过程:
(1)清空曾经Cache到的GeometryBuffer,因为是ReRender需要清空上次缓存的Buffer。
(2)渲染前前置事件调用。
(3)渲染窗口本身,最底层其实也是Image的Draw
(4)调用渲染结束事件。
- CEGUI渲染概论
- CEGUI渲染概论
- CEGUI渲染概论
- cegui 1 cegui渲染入门
- CEGUI渲染器
- ogre如何渲染CEGUI
- CEGUI窗口的渲染顺序
- CEGUI文本渲染(一)
- CEGUI文本渲染(二)
- CEGUI初学者指南1——使用CEGUI渲染
- CEGUI依赖渲染窗口和场景管理器
- 在Win32 OpenGL环境渲染CEGUI界面
- CEGUI将支持内部渲染网页
- CEGUI 对RTT纹理的支持------Gamebryo实现渲染到CEGUI窗口
- cegui
- CEGUI
- CEGUI
- CEGUI
- Terrain Splatting
- VS2010不能断点/下断的问题
- 算法与追mm
- 用CEGUI绘制环形进度条和雷达扫描(技能CD)效果
- Redhat系主流版本的Linux的内核对照
- CEGUI渲染概论
- map不太会 留下好好看看 转载
- 有关cygwin中JAVA的中文环境编译测试(用gcj生成.exe)
- OGRE例子:Demo_Ocean 源码解析
- TCP/IP数据包结构详解
- C语言中的realloc函数动态分配内存
- ios 4.2.1完全越狱图文教程
- PHP、.Net和JAVA的区别?
- HDOJ What Are You Talking About