Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OpenGL中的程序纹理_C++_Opengl_Textures_Procedural Generation - Fatal编程技术网

C++ OpenGL中的程序纹理

C++ OpenGL中的程序纹理,c++,opengl,textures,procedural-generation,C++,Opengl,Textures,Procedural Generation,我目前正在阅读opengl的官方指南,它们的解释和示例代码对我来说太复杂了。我想我已经有了程序纹理的想法,但是我找不到任何关于它们的好教程。有人知道这方面的好指南吗?或者解释一下?这本书在这方面是最好的: 它不是特定于API的,所以您找不到任何OpenGL示例,但它确实深入介绍了程序纹理的技术 程序图形示例的另一个重要资源是: 请注意,它最好与谷歌浏览器配合使用 这是一个很棒的WebGL片段着色器集合,WebGL基于OpenGL。如何设置2D?渲染前的纹理?正常地为什么他们只使用纹理的t坐标?

我目前正在阅读opengl的官方指南,它们的解释和示例代码对我来说太复杂了。我想我已经有了程序纹理的想法,但是我找不到任何关于它们的好教程。有人知道这方面的好指南吗?或者解释一下?

这本书在这方面是最好的:

它不是特定于API的,所以您找不到任何OpenGL示例,但它确实深入介绍了程序纹理的技术

程序图形示例的另一个重要资源是:

请注意,它最好与谷歌浏览器配合使用


这是一个很棒的WebGL片段着色器集合,WebGL基于OpenGL。

如何设置2D?渲染前的纹理?正常地为什么他们只使用纹理的t坐标?为什么s坐标是不必要的?@Pilpel您指的是哪一个只使用t坐标的例子?对于使用现代OpenGL的基本纹理贴图,有很多教程,比如这本:但这是普通纹理。据我所知,程序纹理是根据算法而不是普通图像rgb数据创建2D图像的过程。我不确定您需要什么级别的解释。您可以通过创建纹理和有效的帧缓冲区、将纹理指定为帧缓冲区上的颜色缓冲区、绑定帧缓冲区以及使用OpenGL进行绘制来创建程序纹理,就像在屏幕上绘制一样,还有其他较旧的技术。您可以通过解除帧缓冲区的绑定来使用它,并像绑定任何其他纹理一样绑定颜色缓冲区纹理。应该有帮助。