- 40.tuwenyoung
- 楼主你好,我最近也在学习opengl 在看到关于opengl导入3D格式的文件的时候感觉资料很少,在网上游荡了很久发现的资源也不多,最近看到你这里说的有一些,不知道你是否有比较好的资源 比如像关于这方面的书籍什么的! zwqxin 于 2011-10-7 9:29:23 回复应该很少有专门介绍模型导入的书籍.
- 2011-9-15 18:16:26 回复该留言
- 41.daniel
- 博主的opengl系列文章写得非常不错.请教个问题,如果我用一系列控制点矩阵计算得到一个nurbs曲面,有办法对这个曲面贴图吗?zwqxin 于 2011-10-7 9:33:31 回复一般是进行分割后再帖吧。hello 于 2012-6-25 11:21:05 回复我最近在看关于opengl渲染地形的知识,觉得你的文章写的非常好,分享了好多有价值的资料。不知道你关于地形渲染这一部分有没有可以供学习的资料可以下载的?如果有的话可不可以分享一下?谢谢!
- 2011-10-7 2:47:21 回复该留言
- 42.linus
- 期待你用这个做出一款galgame,哈哈,顺便教我编程哦!zwqxin 于 2011-10-13 21:04:01 回复你写文案咯.我要老虚那种深度治愈(?)的。
- 2011-10-12 23:24:37 回复该留言
- 44.wangsong
- 博主,有个问题想咨询一下,关于FBO离屏渲染
opengl做小样本纹理的简单拼贴,如果正常的通过顶点和像素着色器实现,可以在着色器中控制 32*32 的小纹理(假设)去覆盖任意数目的网格,例如可以32*32的小样本纹理覆盖4*4的网格,然后重复很多次来生成效果(1024*1024的网格),这时候显示的小样本很清晰。
可是,把这个过程用离屏渲染来做的话,32*32的小样本纹理在覆盖4*4的网格时候,出现了纹理走样,即出现了马赛克那种效果。我想应该是纹理的 min_filter 即缩小过滤器起作用,我也设置了过滤方式,但是效果还是不理想
为什么用固定流水线或着色器做的时候,小样本纹理可以覆盖比它自己尺寸小的范围而不会出现失真的效果,而用离屏渲染做的时候,纹理一旦覆盖比它自己尺寸小的范围的时候,就会出现失真的效果zwqxin 于 2012-4-12 21:55:15 回复“为什么用固定流水线或着色器做的时候,小样本纹理可以覆盖比它自己尺寸小的范围而不会出现失真的效果”——如果没失真应该是因为生成了mipmap吧,你可以看做内存中该纹理有一系列比原大小要小的纹理副本(mipmap,尺寸均满足2的N次方),min_filter的值是那些带有mipmap字眼的话,贴图时GL会选择大小贴近的一张mipmap去贴的;“用离屏渲染做的时候,纹理一旦覆盖比它自己尺寸小的范围的时候,就会出现失真的效果”——你是说FBO绑定的那个纹理吧,因为FBO建立纹理时很少采用mipmap的缘故吧?我以前试过如果要生成mipmap的话FBO会创建失败,不知道当前的世道会如何了。 - 2012-4-10 19:54:55 回复该留言
- 46.Goldenwang
- 问题:
pc如何把GPU显存里的内容读出来? 使用FBO?还是OpenCL?两者有什么区别?
场景:pc需要把GPU显存里经过渲染的内容读取出来,经过压缩后发送出去。
多谢指点zwqxin 于 2012-4-23 20:54:07 回复要读取像素数据,OpenGL下可以试试用PBO。 - 2012-4-23 11:55:25 回复该留言
- 48.kcpnevergiveup
- 楼主,今天看到你的博客我是激动万分,太多好资料了。
我才学opengl不久,我在MFC单文档框架下做opengl,加入glEnable(GL_DEPTH_TEST);界面就只显示背景,什么也看不见,你知道是什么问题吗?zwqxin 于 2012-5-25 21:00:18 回复你确定是这一句导致的问题吗?如果是的话,大概你没设置好深度缓冲,或者绘图位置不对了,或者……了。 - 2012-5-25 9:42:19 回复该留言
- 49.infor
- 您好,博主.有个问题想请教下:
我想用opengl复制当前屏幕上已经绘制的像素并作为纹理
我这样处理:
保存屏幕指定位置并生成纹理对象:(width和height是满足2的整数次方的)
GLuint textureid;
glGenTextures(1, &textureid);
glBindTexture(GL_TEXTURE_2D, textureid);
glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_BGRA, x, y, width, height, 0);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
使用时调用该纹理
可是画出来的部分总是空白。
能指点下不?谢谢了。zwqxin 于 2012-6-18 23:21:30 回复太遥远了点……我还是建议你使用FBO来做类似这样的事情吧。infor 于 2012-6-19 9:40:27 回复谢谢你的及时回复.我看了博主的FBO的文章,完全可以用FBO来做.
主要是自己折腾了几天这个方式,不弄出来心里总是不舒服,呵呵.今早把它折腾出来了.用glGetError查看错误码找到原因的,原来是glCopyTexImage2D的第3个参数传错了.根本不支持GL_BGRA,改成GL_RGB就ok了,马上去再研究下FBO.
再次感谢. - 2012-6-18 16:11:49 回复该留言
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。