相关疑难解决方法(0)

如何开始使用OpenGL和C++进行开发,我需要在Windows上安装哪些工具

我很高兴能够使用c ++开始在OpenGL中编写一些东西.

任何人都可以在此列出应该安装哪些工具来启动此过程.

IDE编译器OpenGL下载等?

c++ windows opengl

18
推荐指数
1
解决办法
4万
查看次数

如何为着色器使用设计一个简单的GLSL包装器

更新:因为我马上就需要一些东西,所以我创建了一个简单的着色器包装器来完成我需要的东西.你可以在这里找到它:GitHub上的ShaderManager.请注意,它是为Objective-C/iOS设计的,因此对每个人都没有用.如果您对设计改进有任何建议,请告诉我们!

原始问题:

我是新手使用GLSL着色器.我对GLSL语言和OpenGL界面非常熟悉,但是我在设计一个简单的API时遇到了麻烦,通过它可以使用着色器.

用于与着色器交互的OpenGL C接口似乎很麻烦.我似乎无法在网上找到任何涵盖这类内容的API设计的教程.

我的问题是:任何人都有一个好的,简单的API设计或模式来包装OpenGL着色器程序API吗?

采用以下简单示例.假设我有一个顶点着色器,它只是模拟固定功能,还有两个片段着色器 - 一个用于绘制平滑矩形,另一个用于绘制平滑圆.我有以下文件:

Shader.vsh : Simple vertex shader, with the following inputs/outputs:
    -- Uniforms: mat4 Model, mat4 View, mat4 Projection
    -- Attributes: vec4 Vertex, vec2 TexCoord, vec4 Color
    -- Varying: vec4 vColor, vec2 vTexCoord

Square.fsh : Fragment shader for drawing squares based on tex coord / color
Circle.fsh : Fragment shader for drawing circles based on tex coord / color
Run Code Online (Sandbox Code Playgroud)

基本链接

现在使用这些的标准方法是什么?我是否将上述着色器链接到两个OpenGL着色器程序中?那是:

Shader.vsh + Square.fsh = SquareProgram
Shader.vsh + Circle.fsh = …
Run Code Online (Sandbox Code Playgroud)

opengl glsl wrapper ios

10
推荐指数
2
解决办法
6823
查看次数

读取文件,损坏的数据

好像我不能编译我的GLSL着色器.偶尔(主要是在编辑文件之后),编译时出现以下错误:

----- SRC ----- (150 B)
#version 330 core

uniform mat4 mvpMatrix;

in vec4 vertexPosition_modelspace;

void main() {
    gl_Position = mvpMatrix * vertexPosition_modelspace;
}
gp!
----- END -----
SimpleTransform.vertexshader:Vertex shader failed to compile with the following errors:
ERROR: 0:10: error(#132) Syntax error: 'gp' parse error
ERROR: error(#273) 1 compilation errors.  No code generated
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为我发誓该文件不包含那个尴尬的gp!部分.不过我用调查过它

#version 330 core

uniform mat4 mvpMatrix;

in vec4 vertexPosition_modelspace;

void main() {
    gl_Position = mvpMatrix * vertexPosition_modelspace;
}
Run Code Online (Sandbox Code Playgroud)

而且更少 …

c++ linux opengl glsl glfw

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

标签 统计

opengl ×3

c++ ×2

glsl ×2

glfw ×1

ios ×1

linux ×1

windows ×1

wrapper ×1