opengl-4

    4热度

    1回答

    我一直在尝试编写一个通用计算着色器高斯模糊实现。 它基本上可以工作,但它包含的工件甚至在场景是静态时也会改变每一帧。我花了几个小时试图调试这个。我已尽可能确保不超出范围,展开所有循环,用常量替换统一,但工件仍然存在。 我已经测试了3种不同机器/ GPU(2个nvidia,1个intel)上的工件的原始代码,它们都产生了相同的结果。用简单的C++代码向前和向后执行的工作组模拟展开/常量版本的代码执行

    1热度

    2回答

    我试图从一个OpenGL纹理数组复制一个切片到另一个。如果可能的话,我想在GPU上执行此操作,而不从CPU重新提交任何内容。 (这在D3D中很容易做到,但我是现代OpenGL的新手。) 基于谷歌和StackOverflow搜索,我能够得到最近的结果如下。这几乎的作品,除了它只从第一切片源数组中复制(到目标数组的正确切片)。我尝试使用glFramebufferTexture3D,所以我可以指定源切片

    -1热度

    1回答

    在OpenGL中编写简单的计算着色器以了解其工作原理,但无法获得想要的结果。 我想传递给我的计算着色器一个结构colourStruct的数组来为输出纹理着色。 我想有一个红色的图像时,“wantedColor”在我的计算着色器= 0和绿色形象“wantedColor” = 1,蓝色为2 但我其实只有红时“wantedColor” = 1或2或3,黑色当“wantedColor”> 2 ... 如果

    2热度

    1回答

    OpenGL的分配多个物体一次 glCreateBuffers(1,&handle); ... glDeleteBuffers(1,&handle); 具有可创建函数和多个对象我猜的意图是可以节省时间来创建/立刻销毁所有对象。但是,这只是在初始化时,还是会影响内存布局,例如增加局部性,导致渲染时间缩短。 之前这个问题被标记为重复的Is there an advantage to gener

    -1热度

    1回答

    我为教育目的编写glsl包装器,但由于存在一些误解,我停下来了。当我想要插入变量到特定位置时,我有不匹配的警告。由于位置是GLint,但glVertexAttrib位置必须是GLuint。 这里是我的代码示例 bool Material::AddAttrib(GLchar *variable, std::vector<GLdouble> values) { GLint location = gl

    0热度

    1回答

    我对opengl相当陌生,发现自己处于需要从计算着色器获取数据的情况,但是由于我错过了一些不能工作的重要知识。所以我来到这里,也许你可以给我一些提示。 说我有一个计算着色器是这样的: #version 430 core struct rmTriangle { vec4 probeCenter; vec4 triangles[3]; }; layout(std430,

    0热度

    1回答

    我使用OpenGL 4.5 C++和GLSL 410 我遇到了一个问题,最近我在那里试图设置着色器程序的统一变量不首先使用着色器程序与glUseProgram。我有一个片段着色器,它带有一个名为input_color(我将输出颜色设置为vec4)的统一变量,附加到我的shader_program。请注意I 做在绘制任何应该使用它的东西之前,在我的主要绘制循环中调用glUseProgram(shad

    2热度

    1回答

    我有一个支持OpenGL 4.5的GPU,我希望测试我的应用程序是否运行在支持OpenGL 4.3的系统上。我可以将我的GPU设置为使用OpenGL 4.3吗?

    0热度

    1回答

    我已经看遍了,我似乎无法得到OpenGL来绘制一个简单的四边形。 窗口显示正确的颜色背景,但OpenGL只是不会绘制框。 我使用OpenGL 4.4.0 - 建立20.19.15.4463 窗口大小为1920x1080 这是我目前拥有的代码: 在Main.java : public void init(){ if(glfwInit() != true){ System.err

    2热度

    1回答

    我做了一个短代码,以便使用OpenGL 4.5(GLEW API)以黑色清除SDL2窗口。但是,它只在使用我的英特尔芯片组时才起作用(在这种情况下,应该使用较旧的OpenGL版本)。问题是,如果我使用我的Nvidia GTX 960M,窗口仍然是空白的。也许我忘了写一些特定于OpenGL 4.5的东西?你有什么想法吗?以下是代码示例: DisplayContext::DisplayContext(