OpenGL图像加载和存储:将屏幕空间纹理烘焙到UV空间纹理
我想做的是: 我有一个3d变换的UVMapping对象,带有白色纹理和屏幕空间图像 我想将屏幕空间图像烘焙到对象的纹理中,这样它在屏幕上的3d变换表示与屏幕空间图像完全匹配(因此我想将其投影到uv空间) 我想用图像加载和存储来实现这一点。我把它想象成: 第1步:将变换后的三维对象UV坐标渲染为屏幕外纹理 第二遍:渲染屏幕大小的四边形,在每个像素上,检查第一遍渲染的纹理值,如果有有效的纹理坐标,使用screenspace quad自身的uv纹理查找screenspace图像,并使用从输入纹理读取的uv纹理作为索引,将此texel颜色与图像_load_和_store一起写入texturebufferOpenGL图像加载和存储:将屏幕空间纹理烘焙到UV空间纹理,opengl,Opengl,我想做的是: 我有一个3d变换的UVMapping对象,带有白色纹理和屏幕空间图像 我想将屏幕空间图像烘焙到对象的纹理中,这样它在屏幕上的3d变换表示与屏幕空间图像完全匹配(因此我想将其投影到uv空间) 我想用图像加载和存储来实现这一点。我把它想象成: 第1步:将变换后的三维对象UV坐标渲染为屏幕外纹理 第二遍:渲染屏幕大小的四边形,在每个像素上,检查第一遍渲染的纹理值,如果有有效的纹理坐标,使用screenspace quad自身的uv纹理查找screenspace图像,并使用从输入纹理读取的
由于我以前从未使用过此功能,我想问一下,使用此功能的人是否已经认为这是可行的,是否已经有一些例子可以在这方面做一些事情?您提出的方法肯定是一种实现此功能的方法,实际上这是很常见的。另一种方法是从屏幕空间到纹理空间进行反投影。这并不像一开始听起来那么难。基本上,对于每个三角形,您必须找到模型曲面上的切线空间向量(UV)到其屏幕对应物的变换。除此之外,变换三角形本身,以找到图片中屏幕空间三角形的边界。然后将投影反转