我目前正在尝试使用类似glTexImage3D
的东西来学习3D纹理上的光线投射。我从一开始就关注this tutorial。我的最终目标是制作一个可以这样工作的程序:
我的理解是,这是使用光线投射方法渲染的,模型是作为3d纹理导入的。光线投射和纹理采样任务在片段着色器中执行。我希望我可以复制这个程序作为一种做法。你能回答我的问题吗?
答案 0 :(得分:1)
1。应该使用哪种文件格式导入3D纹理?
无关紧要,OpenGL不处理文件格式。
2。我应该使用哪些glsl函数来检测光线与纹理之间的距离?
没有“准备就绪”的光线投射功能。你必须自己实施一个raycaster。即在起点和终点之间沿线(光线)采样纹理,并将样本积分到最终颜色值。
3。 3D纹理采样和体积渲染有什么区别?
采样3D纹理与采样2D,1D,立方体贴图或纹理拓扑的其他任何内容没有太大区别。对于给定的向量A,某个向量B被重新定义,即最接近A(最近样本)所指向的位置的样本值或内插值。
4。是否有可供我使用的在线教程?
http://www.real-time-volume-graphics.org/?page_id=28
5。如何制作自己的3D纹理? (是否可以使用搅拌机制作一个?)
你当然可以使用Blender,例如通过烘烤雾密度等体积数据。但整个主题过于宽泛,无法在此充分涵盖。