作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 OpenGL 3.3+ 中实现体积广告牌,如 here 所述
和视频here .
我现在面临的问题(非常基本)是:如何将 3D 对象渲染为 3D 纹理(如论文中所述)高效 ?假设对象可以存储在 256x256x128
中tex 创建 256*256*128*2
帧缓冲区(因为据说它应该在每个轴上渲染两次: +X,-X,+Y,-Y,+Z,-Z
)会很疯狂,而且据我所知,纹理单元太少而无法处理那么多纹理(更不用说所需的时间了)。
有没有人知道如何处理这样的事情?
最佳答案
3D 纹理切片可以直接附加到当前帧缓冲区。所以,创建一个帧缓冲区,一个 3D 纹理,然后像这样进行渲染:
glFramebufferTexture3D( GL_FRAMEBUFFER, Attachment, GL_TEXTURE_3D,
TextureID, 0, ZSlice );
...render to the slice of 3D texture...
关于OpenGL - 如何将对象渲染为 3D 纹理作为体积广告牌,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17504750/
我是一名优秀的程序员,十分优秀!