glsl

    0热度

    1回答

    我试图在我的android游戏中实现实例 - 即在一次绘制调用中绘制64个精灵。 我基于C语言下面的教程 https://learnopengl.com/#!Advanced-OpenGL/Instancing 程序崩溃时,我用下面的语法在顶点着色器代码 vec2 offset = offsets[gl_InstanceID]; 例外 09-19 17:28:18.315 3635-3674/

    0热度

    1回答

    我正在基于其他纹理中的值投射阴影。 我的“深度”的质感,它不是真正的深度,这是为高采样只是颜色值,如下所示: 我们可以说,红色通道是我的高度图。 我就用下面的frag着色器全屏四画这个旁边一个草质地: #version 400 layout(location=0) out vec4 frag_colour; in vec2 texelCoords; uniform sampler2D

    1热度

    1回答

    假设我有一个100×100的纹理和我做了以下内容: vec4 texelQuad = textureGather(sampler, vec2(50.5)/vec2(100.0)); 坐标我请求正是在纹理像素的中心(50,50)。那么,我会得到由(49,49)和(50,50)或由(50,50)和(51,51)所界定的四个像素。规范在这个问题上是回避的。它只是声明以下内容: LINEAR缩小过滤器

    0热度

    1回答

    我在OpenGL 4中使用Visual C++中的某些纹理操作。 我正在使用的平台是Visual Studio 2015.查看了GL_TEXTUREi纹理单元的实现后,我发现总数限制为0到31(共32个)。 这是否意味着可以同时访问的纹理的最大数量受限于32? 这是从执行源代码: #define GL_TEXTURE0 0x84C0 #define GL_TEXTURE1 0x84C1 #de

    0热度

    3回答

    我写了一个小程序来简单解释我的问题,我尝试改变图像的像素位置,其中纹理元素x是方向,另一个表示速度。最终目标是使用我的CPU数据,在那里计算NAVIER-STROKE流体来移动GLSL中的像素。 CPU代码在Processing java库中。 我试着去看看我的代码中有什么bug,但我不明白像素转换是如何工作的。 在第一个我转换我的方向在颜色值从0到255在CPU中,并在GPU转换这一个向量方向,

    1热度

    1回答

    当我使用GL_HALF_FLOAT_OES纹理时;片段着色器似乎写入它很好,我可以观察到它具有正确的值,当我在xCode中使用gpuTrace。但是,当我读回用 glReadPixels(0, 0, self.imageSize->v[0], self.imageSize->v[1], GL_RGBA, type, pixels); 像素组件也可以浮动-0或浮动1.这是因为浮点值越来越意外修剪

    -3热度

    1回答

    有一个网站,shadertoy.com我可以很容易地测试glsl代码。现在我想玩我的摄像头。我的一个必需步骤是将低通帧之间renderred图像: void mainImage(out vec4 fragColor, in vec2 fragCoord) { vec2 uv = fragCoord.xy/iResolution.xy; fragColor.rgb = prev

    2热度

    1回答

    我一直在学习OpenGL(实际上是OpenTK)一个月左右,我开始玩几何着色器。我原本写了一个更复杂的着色器,但它并不起作用,所以我已将所有东西都剥离了一个简单的直通着色器,但仍然无法使用。 顶点着色器: #version 420 core layout (location = 0) in vec3 position; uniform mat4 transform; void main

    2热度

    1回答

    我有两个关于glsl效率的问题。 在完全用户定义着色器管线 VS - > TCS - > TES - > GS - > FS 第一4个阶段都能够被用于这样的操作: gl_Position = MPV_matrices * vec4(in_pos, 1); 哪个阶段更有效率呢?它是硬件还是版本相关? 有关使用GLSL是示出了正在传递的着色器之间的顶点位置,而不是使用内置变量仅gl_Positio

    0热度

    2回答

    我想调试GLSL着色器。 我需要的是发送字符串信息。 我已经试过FBO,但这不是一个干净的方式 有没有办法发送日志到主程序?