随笔分类 -  opengl

MC+多个emitter成功把撕裂场景基本解决了
摘要:粒子数量小的时候 release版还是有20-30fps的,还可以 阅读全文
posted @ 2012-09-05 17:42 30斤大番薯 阅读(180) 评论(0) 推荐(0)
screen space flow的流体表面绘制成功
摘要:SPH使用Physx流体表面绘制使用screen space flow效果如下:调试了一下高斯双向模糊的半价,效果很好 阅读全文
posted @ 2012-09-03 22:21 30斤大番薯 阅读(228) 评论(1) 推荐(0)
要搞清楚一些东西
只有注册用户登录后才能阅读该文。
posted @ 2012-08-29 17:23 30斤大番薯 阅读(7) 评论(0) 推荐(0)
vtk中使用某个OpenGL扩展的问题
摘要:因为要为vtk写一个新的renderer,使用opengl4.0的新特性来实现OIT (Order independent transparent)在vtk中使用新的opengl扩展是通过vtkOpenGLExtensionManager来查询是否支持某个扩展,以及载入扩展的。它是通过解析Utilities\ParseOGLExt\headers gl3.h glext.h glxext.h wglext.h 里面的函数,获得函数的入口地址来调用opengl的。它在vtk编译时会生成两个文件:vtkgl.h 和vtkgl.cxx 以后vtk用到的opengl函数都从这两个文件中获取。vtk5. 阅读全文
posted @ 2012-08-15 21:20 30斤大番薯 阅读(3360) 评论(2) 推荐(0)
牛人啊
摘要:http://www.icare3d.org/about-me发现了一个非常牛X的人Cyril Crassin佩服得五体投地啊 阅读全文
posted @ 2012-07-11 11:04 30斤大番薯 阅读(217) 评论(0) 推荐(0)
转:OpenGL 缓冲区对象
摘要:OpenGL缓冲区对象 今天学习了一下缓冲区对象..... OpenGL是按照客户机-服务器模式设计的,在OpenGL需要数据的时候,都必须把数据从客户机内传输到服务器。 缓冲区对象,允许应用程序现实的指定把哪些数据存储在图形服务器。 1.创建缓冲区对象 glGenBuffers():OpenGL分配n个当前未使用的名称(非 0),表示缓冲区对象。 原型 : void glGenBuffers(GLsizei n,GLuint *buffers); GLboolean glIsBuffer(GLuint buffer):判断一个标识符是否是当前使用的缓冲区对象的标识符。 2.激活缓冲区... 阅读全文
posted @ 2012-07-02 18:00 30斤大番薯 阅读(1410) 评论(0) 推荐(0)
OpenGL Buffer Object
摘要:OpenGL Buffer ObjectOpenGL的缓冲对象提供了一种高效的数据操作及吞吐方式,这此操作涉及整个渲染管线的多个环节,用来提高OpenGL的实现效率。常见的缓冲对象有:顶点缓冲对象(VBO)、像素缓冲对象(PBO)和帧缓冲对象(FBO),各种缓冲对象的操作方式及应用场合不尽相同,但主要都是在关系到内存与显存之间需进行数据传输与交互时而进行的优化操作,因为内存与显存之间的数据交互在当前的硬件渲染架构下是必须的,但效率却又受限于PCI的传输速度。缓冲区对象的作用就是让这种数据交互操作在一种最优的方式下进行,使所有的操作从Client到显存之间的距离尽可能地缩短,从而提高效率。Ver 阅读全文
posted @ 2012-06-29 15:35 30斤大番薯 阅读(390) 评论(0) 推荐(0)
高级缓冲区:像素缓冲区对象(PBO),帧缓冲区对象(FBO)
摘要:我们可以灵活的将GPU内存用于不同的用途,可以混合,顶点数组,纹理,帧缓冲区,对他们读写,在opengl管线的不同阶段对他们进行渲染。 将经常用的数据放到PBO中,以便程序可重用它,提高绘图的效率。 可以从磁盘加载纹理,避免额外的内存复制FBO:它允许我们把渲染从窗口的帧缓冲区转移到我们所创建的一个或多个离屏帧缓冲区 、FBO不受窗口大小的限制 、纹理可以连接到FBO,允许直接渲染到纹理, 、FBO可以包含多个颜色缓冲区,可以同时从一个片段着色器写入渲染到纹理:将屏幕的渲染结果作为纹理,存到纹理缓冲区内。顶点变换:顶点位置从对象空间变换到裁剪空间 首先,对象空间与模型视图矩阵(ModelVie 阅读全文
posted @ 2012-06-29 15:33 30斤大番薯 阅读(1741) 评论(0) 推荐(0)
绕任意轴旋转的变换矩阵的推导
摘要:本文参考自http://hi.baidu.com/lsjsuper/blog/item/4ca2c2773584ef08b051b9bd.html,并进行了补充说明与完善,目的在于帮助大家更好的理解推导过程^-^!大家可以看完原文再看本文,也可以直接看本文,谢谢!推导过程中我们使用的是左手坐标系。现在,我们假设3D空间中有一点P要绕任意轴A进行旋转,如图: 图1首先我们将P看成从原点出发的自由向量,将其分解为平行于轴A与垂直于轴A的分量A1,A2的形式,如图: 图2向量加法的几何解释为: u + v = 将向量v平移,使其始端与u的末端重合,u + v就是自向量u的始端指向平移后的向量v的末. 阅读全文
posted @ 2012-06-25 17:06 30斤大番薯 阅读(5299) 评论(3) 推荐(1)
Shadow Map的资料
摘要:http://baike.baidu.com/view/1510558.htm?fromTaglisthttp://www.zwqxin.com/archives/opengl/shadow-map-1.html 阅读全文
posted @ 2012-05-21 09:55 30斤大番薯 阅读(242) 评论(0) 推荐(0)
什么是FrameBuffer?(转载)
摘要:什么是FrameBuffer?(转载)FrameBufferFrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。这种接口将显示设备抽象为帧缓冲区。用户可以将它看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作可以立即反应在屏幕上。该驱动程序的设备文件一般是 /dev/fb0、/dev/fb1 等等。比如,假设现在的显示模式是1024x768-8 位色,则可以通过如下的命令清空屏幕:$ dd if=/dev/zero of=/dev/fb0 bs=1024 count=768在应用程序中,一般通过将 FrameBuffer 设备映射到进 阅读全文
posted @ 2011-05-08 16:39 30斤大番薯 阅读(2234) 评论(0) 推荐(0)
在OpenGL中使用整数类型纹理进行计算
摘要:Using Integer Textures in OpenGL for Calculation OpenGL could perfectly support integer textures through 'GL_EXT_gpu_shader4' and 'GL_EXT_texture_integer' extension. So we can do some GPGPU work with integer values in shaders. First of all, prepare the integer texture:view plaincopy 阅读全文
posted @ 2011-05-08 13:32 30斤大番薯 阅读(1001) 评论(0) 推荐(0)
GLSL小结
摘要:GLSL修飾符小結By 凱絲緹爾 Uniform僅可以在Shader外改變取值, 在Shader中不能被改寫 適合於定義那些取值不常需要改變的變量 Uniform變量被Vertex Shader和Fragment Shader所共享 除非函數有Sampler類型的參數, 否則一個Uniform變量被聲明後必須被使用 所有類型的變量和數組均可被Uniform Qualifiers修飾 In適合於定義向Vertex Shader輸入的, 變化頻率比較高的變量. 對於Vertex Shader, 不可以接受布爾標量/向量, 結構, 或Sampler. 其目的在於保持在變量值被反復修改情況下圖形硬件的 阅读全文
posted @ 2011-05-02 21:24 30斤大番薯 阅读(278) 评论(0) 推荐(0)