gpt4 book ai didi

c++ - OpenGL 3.x 核心 sampler2DRect (GL_TEXTURE_RECTANGLE) 示例

转载 作者:搜寻专家 更新时间:2023-10-31 00:42:26 27 4
gpt4 key购买 nike

我正在尝试弄清楚如何在我的 3D 场景上制作半透明的 2D 叠加层,阅读 OpenGL SuperBible 第 5 版以供引用。

它有一个使用纹理目标 GL_TEXTURE_RECTANGLE 和称为 sampler2DRect 的 GLSL 统一类型将 OpenGL Logo 覆盖在场景(第 7 章)上的示例。纹理应该使用 texture() 命令显示在片段着色器中。

这本书中的例子使用了很多源文件,我很难在一个简单的程序中实现它,所以我想知道是否有人能给我指出一个更简单的 sampler2DRect 例子。

关于切换到正交投影的部分我没有遇到任何问题,而是当我尝试加载纹理时,它只是将表面显示为白色。此时我的代码变得非常困惑,我似乎无法查明问题所在,所以我宁愿按照一个更简单的示例从头开始,如果任何地方都有的话。

附言我正在使用 SFML 2.0rc 加载图像文件,以防万一。

最佳答案

error C1101: ambiguous overloaded function reference "mul(mat4, vec3)" 
(0) : mat3x4 mul(mat3x1, mat1x4)
(0) : mat3 mul(mat3x1, mat1x3)
(0) : mat3x2 mul(mat3x1, mat1x2)
(0) : mat3x1 mul(mat3x1, mat1)
(0) : mat2x4 mul(mat2x1, mat1x4)
.....

这是一种非常冗长的方式,告诉您不存在将 mat4vec3 相乘的函数。然后它列出了 mul 的所有合法变体。

当您乘以矩阵时,您的尺寸必须匹配,您可能想要将 mat4vec4 相乘。如果这是您的位置坐标,则添加一个 1.0 作为 vector 的最终值:

uniform mat4 mvpMatrix;
in vec3 position;

main()
gl_Position = mvpMatrix * vec4(position, 1.0);

关于c++ - OpenGL 3.x 核心 sampler2DRect (GL_TEXTURE_RECTANGLE) 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12047138/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com