Java 如何使用GLSL制作我的着色器
我正在尝试为3D游戏制作一个着色器 这是我的着色器代码: 梅因·弗拉格Java 如何使用GLSL制作我的着色器,java,opengl,glsl,Java,Opengl,Glsl,我正在尝试为3D游戏制作一个着色器 这是我的着色器代码: 梅因·弗拉格 #version 330 out vec4 fragColor; in vec4 color; void main(void){ fragColor = color; } main.vert #version 330 layout (location = 0) in vec3 in_position; layout (location = 1) in vec4 in_color; out vec4 colo
#version 330
out vec4 fragColor;
in vec4 color;
void main(void){
fragColor = color;
}
main.vert
#version 330
layout (location = 0) in vec3 in_position;
layout (location = 1) in vec4 in_color;
out vec4 color;
void main(void){
color = in_color;
gl_Position = ftransform();
}
但当我启动游戏时,我有一个错误:
ERROR: 0:10: 'ftransform' : function is not available in current GLSL version
ERROR: 0:10: 'ftransform' : no matching overloaded function found (using implicit conversion)
ERROR: 0:10: 'assign' : cannot convert from 'const float' to 'Position 4-component vector of float'
我的图形卡的导航已完全升级(一个弱卡)。我必须用另一个函数替换我的“ftTransform”函数吗?如果是,怎么做?如果没有,我可以做什么来替换它?如果我不启动着色器,我的世界中就没有任何颜色。ftTransform是opengl 3中删除的一个旧函数。试着在谷歌上搜索替换FTTransform,已经有很多信息了。这个答案是真的吗“F变换与此等价:v=F变换();v=gl_ProjectionMatrix*gl_ModelViewMatrix*gl_Vertex;v将是投影(屏幕)空间中的一个坐标。”旧的矩阵堆栈操作已不在gl 3中,请声明您的矩阵是一致的,并自行计算最终的变换。非常感谢,您知道我如何做到这一点吗?我从这门语言开始。谢谢你的理解:-)是的,你必须自己申报。你应该寻找一个“现代opengl教程”,否则这个讨论将是无休止的:)ftTransform是一个在opengl 3中被删除的旧函数。试着在谷歌上搜索替换FTTransform,已经有很多信息了。这个答案是真的吗“F变换与此等价:v=F变换();v=gl_ProjectionMatrix*gl_ModelViewMatrix*gl_Vertex;v将是投影(屏幕)空间中的一个坐标。”旧的矩阵堆栈操作已不在gl 3中,请声明您的矩阵是一致的,并自行计算最终的变换。非常感谢,您知道我如何做到这一点吗?我从这门语言开始。谢谢你的理解:-)是的,你必须自己申报。你应该寻找一个“现代opengl教程”,否则这个讨论将是无休止的:)