小编zyn*_*ync的帖子

OpenGL Compiled Shader已损坏

我正在尝试在OpenGL 3.2中编译着色器程序,但是我遇到了一个奇怪的链接错误.

在创建顶点和片段着色器编译并附加它们之后,我尝试将它们链接到程序中但是我收到以下infolog错误:

ERROR: Compiled vertex shader was corrupt.
ERROR: Compiled fragment shader was corrupt.
Run Code Online (Sandbox Code Playgroud)

我完全不知道这意味着什么,我在谷歌上唯一能找到的就是忽略它.但是,当我glUseProgram()时,我得到一个无效的操作,所以我不能忽略这个错误.

此外,我刚刚更新到XCode 5,并且相同的代码/着色器源正在工作.不知道它是如何相关的..

编辑:着色器源

顶点:

#version 150

in vec3 position;

uniform mat4 worldMatrix;
uniform float time;

out vec3 outPos;
void main(){
    gl_Position = worldMatrix*vec4(position, 1.0);
    outPos = position;
}
Run Code Online (Sandbox Code Playgroud)

分段:

#version 150

out vec4 outColor;
uniform float time;
uniform float red;
uniform float green;
uniform float blue;

void main(){
    outColor=vec4(red, green, blue,1.0);
}
Run Code Online (Sandbox Code Playgroud)

opengl

7
推荐指数
2
解决办法
3771
查看次数

在CGAL中对多面体进行三角剖分

如何在CGAL中具有任意多面体(可以是凸,凹或什至有孔的多面体),如何对它的面进行三角剖分,以便可以创建用于渲染的OpenGL缓冲区?

我已经看到凸_hull_3()返回具有三角面的多面体,但是对于任意的多面体它并不能满足我的要求。

cgal

5
推荐指数
1
解决办法
965
查看次数

检测增量图中的循环

鉴于我有一个最初是空的图,它将逐渐添加边缘(一个接一个),那么检测和识别出现的循环的最佳方法是什么?

每次添加新边时,我是否都必须检查整个图中的循环?这种方法没有利用已经进行的计算。有没有我还没有找到的算法?

谢谢。

algorithm graph

2
推荐指数
1
解决办法
464
查看次数

无法在mac上使用GLFW3创建OpenGL 3.2上下文

我一直在使用Xcode中的GLFW 2进行OpenGL项目,一切都运行得很好.我能够创建一个3.2 OpenGL上下文,并渲染一切.

但是,昨天我安装了GLFW3 lib并进行了修改建议.现在我根本无法创建3.2上下文,它总是返回3.0.3上下文.我能做错什么?

我在glfw之前加入了glew标题

这是我的初始化代码:

if(!glfwInit()){
        std::cout << "ERROR IN glfwInit()" << std::endl;
        return;
    }

    mWindow = glfwCreateWindow(mWidth, mHeight, "GLFW Renderer", NULL, NULL);;

    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

    if(!mWindow){
        std::cout << "ERROR IN glfwOpenWindow" << std::endl;
        glfwTerminate();
        return;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(mWindow);

    int major, minor, rev;
    glfwGetVersion(&major, &minor, &rev);
    std::cout << "OpenGL " << major << "." << minor << "." << rev << std::endl;

    glewExperimental = GL_TRUE;
    if(glewInit() != …
Run Code Online (Sandbox Code Playgroud)

opengl glfw

0
推荐指数
1
解决办法
1790
查看次数

标签 统计

opengl ×2

algorithm ×1

cgal ×1

glfw ×1

graph ×1