Java 如何使用GLSL制作我的着色器

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

我正在尝试为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 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教程”,否则这个讨论将是无休止的:)