- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试在 OpenGL 桌面中渲染一个矩形,但 glTexBuffer(...)
中使用的内部格式和 texelFetch(...)
的相应代码不是为我工作。我有正确的原始渲染,只需要更正纹理缓冲区部分。下面是相关的代码片段
unsigned char texData [16] =
{
255, 0, 0, 0, //Red
0,255,0,255, //Green
0,0,255,255, //Blue
255,0,255,255, //PINK
};
glGenBuffers( 2,texBuffObj);
glBindBuffer( GL_TEXTURE_BUFFER,texBuffObj[0]);
glBufferData( GL_TEXTURE_BUFFER,sizeof(texData),texData,GL_DYNAMIC_DRAW);<br/>
glGenTextures(1, &textureID);
glBindTexture(GL_TEXTURE_BUFFER, textureID);
glTexBuffer(GL_TEXTURE_BUFFER,GL_RGBA8UI,texBuffObj[0]);
<hr/>Fragement Shader Snippet: <p></p>
#version 330 core
uniform usamplerBuffer samplerTexBuffer;
out vec4 color;
in vec2 vs_texCoord;
in vec3 vert_Color;
void main()
{
int offset = 8; // 0:RED 4:GREEN 8:BLUE 12:PINK
vec4 colBuff;
colBuff = texelFetch(samplerTexBuffer,offset) ;
color = colBuff;
}
offset value 0 primitive color : 255, 0, 0, 0, //Red
offset value 4 primitive color : 0, 255, 0, 255, //Green
offset value 8 primitive color : 0, 0, 255, 255, //Blue
offset value 12 primitive color : 255, 0, 255, 255, //PINK
需要进行哪些必要的更正?
最佳答案
texelFetch
采用纹素坐标,而不是缓冲区中的字节偏移量。由于您的纹素为 4 字节宽,因此您希望使用索引 0、1、2、3 而不是 0、4、8、12 来检索它们。
关于使用 glTexBuffer 和 texelFetch 的 OpenGL(带 GLSL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20681347/
这个问题在这里已经有了答案: OpenGL Texture Coordinates in Pixel Space (3 个回答) 4年前关闭。 我正在使用 GLSL,需要一些纹理查找方面的帮助。我正在
我的程序显示从带有 openGL 的网络摄像头加载的 openCV 图像。 下面的程序通常可以工作,但我在代码后列出了一些问题。 主要的: #define GLEW_STATIC #include
当我将非最大值传递到纹理缓冲区时,在渲染时它会绘制具有最大值颜色的几何图形。我在使用 glTexBuffer() API 时发现了这个问题。 例如假设我的纹理数据是GLubyte,当我传递任何小于25
片段着色器: out vec4 Color; uniform samplerBuffer sampler; uniform int index; void main() { Color=norm
目前我使用函数 texture(...) 读取 3D 纹理,如下所示: vec3 值 = texture(texture_3D, coord).rgb 我现在要做的是: vec3 值 = texelF
我试过: #version 130 uniform sampler2D texID; in vec2 texcoord; out vec4 outcolor; void main(void) {
尝试在 OpenGL 桌面中渲染一个矩形,但 glTexBuffer(...) 中使用的内部格式和 texelFetch(...) 的相应代码不是为我工作。我有正确的原始渲染,只需要更正纹理缓冲区部分
我正在使用 OpenGL es 3.0 和我的 GLSL 版本 #version 300 es。 我正在尝试计算 GPU 中的发光直方图。我已经确定我的设备支持顶点纹理获取并尝试使用 texelFet
我是一名优秀的程序员,十分优秀!