Welcome to ZwqXin


3D Graphics、OpenGL、GLSL、C/C++、GameEngine ……

What are you looking for?

留言本

  • quote 46.Goldenwang
  • 问题:
    pc如何把GPU显存里的内容读出来? 使用FBO?还是OpenCL?两者有什么区别?

    场景:pc需要把GPU显存里经过渲染的内容读取出来,经过压缩后发送出去。

    多谢指点
    zwqxin 于 2012-4-23 20:54:07 回复
    要读取像素数据,OpenGL下可以试试用PBO。
  • 2012-4-23 11:55:25 回复该留言
  • quote 47.朵朵
  • 楼主,我刚开始学opengl,在看DancingWind的NEHE中文教程,能不能麻烦你把DancingWind的源码发我?
  • 2012-4-25 11:58:04 回复该留言
  • quote 48.kcpnevergiveup
  • 楼主,今天看到你的博客我是激动万分,太多好资料了。
    我才学opengl不久,我在MFC单文档框架下做opengl,加入glEnable(GL_DEPTH_TEST);界面就只显示背景,什么也看不见,你知道是什么问题吗?
    zwqxin 于 2012-5-25 21:00:18 回复
    你确定是这一句导致的问题吗?如果是的话,大概你没设置好深度缓冲,或者绘图位置不对了,或者……了。
  • 2012-5-25 9:42:19 回复该留言
  • quote 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 回复该留言
  • quote 51.User
  • 你好,我看了您博客,对FBO有些问题,网上找关于FBO的文章大都会提到RenderBuffer Object,但是都只提到了初始化和绑定,没有读取类的操作信息,然后再其他地方找到了说RenderBuffer Object是个简单的图像,没有MipMap,可与Tex2D转换.
    但是这样直接用Texture不就行了吗,为什么还会有RenderBuffer Object 这个扩展,这个对象是在什么时候才能用到?要读取的话还要传换成Texture吗?还有,加入我想渲染Depth Buffer,这个RenderBuffer Object和Texture可以同时绑定到深度通道吗,会不会冲突?
    谢谢
    zwqxin 于 2012-10-5 11:15:51 回复
    RENDER BUFFER,如其名就是一个可渲染的缓冲区对象。比起Texture纹理,它是更一般意义上的离线缓冲区。但是它不像纹理那样可以直接拿来用,你要读取渲染到这个Buufer里的图像,需要通过glReadPixels或glMapBufferRange之类的方式获取数据(另外还可配合PBO来隐藏读取操作的消耗)。当然你也可以把它的数据交给另外的纹理,但是这一来最开始就没有使用RenderBuffer的意义了(比起Render to Texture更轻便)。
    所以如果对于FBO,如果你不需要在后续操作中获取里面的任何数据,那么应该更倾向于使用RenderBuffer来存储颜色/深度之类信息。最后的那个问题,我不太记得自己以前有没试验过,但是个人而言只要设置好目标DEPTH_COMPONENT的话,应该是不会冲突的,但是一般而言既然有Texture这个需求就没啥必要另外再渲染到一个renderbuffer里了……
  • 2012-10-3 1:46:44 回复该留言
  • quote 54.青蛙
  • 博主,为什么这个主页要是点进去看全文,都显示不出来啊?
    zwqxin 于 2012-11-6 23:56:17 回复
    你用的是什么浏览器啊?是不是还没有缓冲完?我也觉得服务器那边越来越慢的说。
    青蛙 于 2012-11-15 10:10:17 回复
    360的浏览器。
  • 2012-11-6 10:48:43 回复该留言
分页:[«][1][2]3[4][5][6][7][8][»]

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

IE下本页面显示有问题?

→点击地址栏右侧【兼容视图】←

日历

Search

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427

Copyright 2008-2013 ZwqXin. All Rights Reserved. Theme edited from ipati.