OGRE GLRenderSystem

摘要:
视口glViewport(x,y,w,h);清理glClearColor(colour.r,colour.g,colour.b,colour.a);glClearDepth(depth);glEnable(GL_DEPTH_TEST);glEnable(GL_SCISSOR_TEST);glClear(flags);glDisable(GL_SCISSOR_TEST);多边形模式glPolygon
  1. 视口
    • glViewport(x, y, w, h);
  2. 清理
    • glClearColor(colour.r, colour.g, colour.b, colour.a);
    • glClearDepth(depth);
    • glEnable(GL_DEPTH_TEST);
    • glEnable(GL_SCISSOR_TEST);
    • glClear(flags);
    • glDisable(GL_SCISSOR_TEST);
  3. 多边形模式
    • glPolygonMode(GL_FRONT_AND_BACK, glmode);
  4. 投影矩阵
    • glMatrixMode(GL_PROJECTION);
    • glLoadMatrixf(mat);
    • glMatrixMode(GL_MODELVIEW);
  5. 视图矩阵
    • glMatrixMode(GL_MODELVIEW);
    • glLoadMatrixf(mat);
  6. 材料
    • glDisable(GL_COLOR_MATERIAL);
    • glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, f4val);
    • glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, f4val);
    • glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, f4val);
    • glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, f4val);
    • glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, shininess);
  7. 光照
    • glEnable(GL_LIGHTING);
    • glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
    • glLightf( gl_index, GL_SPOT_CUTOFF, 180.0 );
    • glLightfv(gl_index, GL_DIFFUSE, f4vals);
    • glLightfv(gl_index, GL_SPECULAR, f4vals);
    • glLightfv(gl_index, GL_AMBIENT, f4vals);
    • glLightfv(lightindex, GL_POSITION, vec.ptr());
    • glLightf(gl_index, GL_CONSTANT_ATTENUATION, lt->getAttenuationConstant());
    • glLightf(gl_index, GL_LINEAR_ATTENUATION, lt->getAttenuationLinear());
    • glLightf(gl_index, GL_QUADRATIC_ATTENUATION, lt->getAttenuationQuadric());
    • glEnable(gl_index);
    • glDisable(GL_FOG);
  8. 混合
    • glDisable(GL_BLEND);
    • glBlendEquation(func);
  9. 透明
    • glDisable(GL_ALPHA_TEST);
    • glDisable(GL_VERTEX_PROGRAM_POINT_SIZE);
    • glDisable(GL_POINT_SPRITE);
  10. 多边形
    • glDisable(GL_POLYGON_OFFSET_FILL);
    • glDisable(GL_POLYGON_OFFSET_POINT);
    • glDisable(GL_POLYGON_OFFSET_LINE);
  11. 面剔除
    • glEnable( GL_CULL_FACE );
    • glCullFace( cullMode );
  12. 渲染模式
    • glShadeModel(GL_SMOOTH);
  13. 视图矩阵
    • glMatrixMode(GL_MODELVIEW);glLoadMatrixf(mat);
  14. 法线
    • glDisable(GL_NORMALIZE);
  15. 绑定顶点,法线,纹理
    • glBindBufferARB(GL_ARRAY_BUFFER_ARB,hwGlBuffer->getGLBufferId());
    • glVertexPointer();
    • glEnableClientState( GL_VERTEX_ARRAY );
    • glNormalPointer();
    • glEnableClientState( GL_NORMAL_ARRAY );
    • glClientActiveTextureARB(GL_TEXTURE0 + i);
    • glTexCoordPointer();
    • glEnableClientState( GL_TEXTURE_COORD_ARRAY );
  16. 绑定索引,绘图
    • glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB,getGLBufferId());
    • glDrawElements(primType, op.indexData->indexCount, indexType, pBufferData);

免责声明:文章转载自《OGRE GLRenderSystem》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇WebService(axis2),整合springmvcspringJpa 自定义参数查询下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Ogre2.0 全新功能打造新3D引擎

不知当初是在那看到,说是Ogre2.0浪费了一个版本号,当时也没多想,以为没多大更新,一直到现在想做一个编辑器时,忽然想到要看下最新版本的更新,不看不知道,一看吓一跳,所以说,网络上的话少信,你不认识别人,别人张嘴就来,对别人也没损失,还可以装B下,靠. 从现在Ogre2.1的代码来看,大约总结下,更新包含去掉过多的设计模式,SoA的数据结构(用于SIMD...

Ogre 渲染队列(二)

转自:http://www.cnblogs.com/cppguru/archive/2009/11/25/1610626.html 简要说Ogre渲染主流程分三步使用渲染队列:清空、构造和访问,这个过程在每一帧的绘制过程中重复执行。 渲染队列的清空 Ogre在每一帧渲染前都会先清空渲染队列。熟悉Ogre渲染流程的很容易看到在SceneManager::_r...

Ogre3D嵌入Qt框架

按照经典的Qt程序结构,应该有一个从QMainWindow继承而来的MainWindow,让它做为主窗口,然后子类化一个QWidget,它做为主窗口的"中心挂件",能过封装Ogre的部分功能,实现用Ogre对该窗体的绘制。首先,如何把Ogre这个引擎发动,不断驱动其进行工作。Qt也需要告诉Ogre如何把渲染的内容画到指定的窗口中去,以及用哪种方式更新窗口中...

Ogre内部渲染流程分析系列

come from:http://blog.csdn.net/weiqubo/article/details/6956005 要理解OGRE引擎,就要理解其中占很重要位置的 Renderable接口,今天先将一部分我分析的内容贴出来。 以下是 Ogre 的代码中的详细说明: Renderable是OGRE中所有可渲染对象的抽象接口 这个接口抽象出了在渲染...

Ogre骨骼动画

转自:http://blog.csdn.net/yanonsoftware/article/details/1281516 OGRE的基本动画控制是很简单的,设置一个动画的操作是这样: // Set idle animation mAnimationState = ent->getAnimationState( "Idle" ); mAnimatio...

MOGRE学习笔记(1)

       由于工作需要,花费了一段时间研究OGRE,但是研究的目的是要在vs2010平台下用c#进行MOGRE的开发,不得已才转到MGRE,步骤是首选熟悉MOGRE的一些基础知识,做到在winform下能用MOGRE单独开发项目,最终的目的不仅限于此,而是构建一个MOGRE和physx结合的一个开发平台,以便在此基础上能够运用vs和.net快速的开发项...