【问题标题】:Procedural textures in OpenGLOpenGL中的程序纹理
【发布时间】:2015-01-04 12:55:22
【问题描述】:

我目前正在阅读“官方”opengl 指南,它们的解释和示例代码对我来说太复杂了。我想我得到了程序纹理的想法,但我找不到任何关于它们的好教程。有谁知道这个主题的好指南?或者稍微解释一下?

【问题讨论】:

  • 我不确定您想要什么级别的解释。您可以通过创建纹理和有效的帧缓冲区、将纹理分配为帧缓冲区上的颜色缓冲区、绑定帧缓冲区以及使用 OpenGL 进行绘制来创建程序纹理,就像在屏幕上绘制一样(还有其他,也有较旧的技术)。您可以通过取消绑定帧缓冲区来使用它,并像绑定任何其他纹理一样绑定颜色缓冲区纹理。 This wiki entry 应该有帮助。

标签: c++ opengl textures procedural-generation


【解决方案1】:

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

Texturing and Modeling: A Procedural Approach

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

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

Shadertoy (请注意,它最适用于 Google Chrome)

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

【讨论】:

  • 如何在渲染前设置(2D?)纹理?一般?还有为什么他们只使用纹理的 t 坐标?为什么不需要s坐标?
  • @Pilpel 你指的是他们只使用 t 坐标的哪个例子?对于使用现代 OpenGL 的基本纹理映射,有很多教程,比如这个:ogldev.atspace.co.uk/www/tutorial16/tutorial16.html
  • 但这是“正常”的纹理。据我了解,程序纹理是从算法而非普通图像 rgb 数据创建 2D 图像的过程。
猜你喜欢
  • 2020-12-12
  • 1970-01-01
  • 2011-05-19
  • 1970-01-01
  • 1970-01-01
  • 2019-11-11
  • 2023-04-01
相关资源
最近更新 更多