本文整理匯總了Java中org.lwjgl.opengl.GL20.glValidateProgram方法的典型用法代碼示例。如果您正苦於以下問題:Java GL20.glValidateProgram方法的具體用法?Java GL20.glValidateProgram怎麽用?Java GL20.glValidateProgram使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.lwjgl.opengl.GL20
的用法示例。
在下文中一共展示了GL20.glValidateProgram方法的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: ShaderProgram
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
/**
* @param shaders list of shaders to use in program
*/
public ShaderProgram(Shader ... shaders) {
id = GL20.glCreateProgram();
this.shaders = shaders;
// Attach shaders
for (Shader shader : shaders) {
GL20.glAttachShader(id, shader.id);
}
// Link
GL20.glLinkProgram(id);
if (GL20.glGetProgrami(id, GL20.GL_LINK_STATUS) == GL11.GL_FALSE) {
throw new Error("Failed to link shader program.");
}
// Validate
GL20.glValidateProgram(id);
if (GL20.glGetProgrami(id, GL20.GL_VALIDATE_STATUS) == GL11.GL_FALSE) {
throw new Error("Failed to validate shader program.");
}
}
示例2: validate
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
public Program validate()
{
GL20.glValidateProgram(this.handle);
int status = GL20.glGetProgrami(this.handle, GL20.GL_VALIDATE_STATUS);
if (status == GL11.GL_FALSE)
{
String infoLog = GL20.glGetProgramInfoLog(this.handle);
GL20.glDeleteProgram(this.handle);
this.handle = 0;
throw new GLException(infoLog);
}
return this;
}
示例3: ShaderProgram
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
public ShaderProgram(String vertexFile, String fragmentFile) {
vertexShaderID = loadShader(vertexFile, GL20.GL_VERTEX_SHADER);
fragmentShaderID = loadShader(fragmentFile, GL20.GL_FRAGMENT_SHADER);
programID = GL20.glCreateProgram();
GL20.glAttachShader(programID, vertexShaderID);
GL20.glAttachShader(programID, fragmentShaderID);
bindAttributes();
GL20.glLinkProgram(programID);
GL20.glValidateProgram(programID);
getAllUniformLocations();
}
示例4: Shader
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
/**
* Creates a shader with the specified file name.
* @param name The filename of the shader as found in the specified PATH with the specified extensions
*/
public Shader(String name) throws IOException {
// Create the program id
pid = GL20.glCreateProgram();
// Instantiate the uniform lookup
uniforms = new HashMap<String, Integer>();
// Add the vertex shader to the program
String vertSource = addShader(GL20.GL_VERTEX_SHADER, path + name + "." + vertexExtension);
// Add the fragment shader to the program
String fragSource = addShader(GL20.GL_FRAGMENT_SHADER, path + name + "." + fragmentExtension);
// Link the program
GL20.glLinkProgram(pid);
// Check if linking was successful
closeIfProgramError(GL20.glGetProgrami(pid, GL20.GL_LINK_STATUS) == 0, pid);
// Validate the program
GL20.glValidateProgram(pid);
// Check if validation was successful
closeIfProgramError(GL20.glGetProgrami(pid, GL20.GL_VALIDATE_STATUS) == 0, pid);
// Bind the shader
bind();
// Automatically add uniforms
autoAddUniforms(vertSource);
autoAddUniforms(fragSource);
}
示例5: ShaderProgram
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
public ShaderProgram(final String vertexFile, final String fragmentFle) {
LOGGER.debug("Initializing shader program for vertex - {} and fragment - {}", vertexFile, fragmentFle);
vertShaderId = loadShader(vertexFile, GL20.GL_VERTEX_SHADER);
fragShaderId = loadShader(fragmentFle, GL20.GL_FRAGMENT_SHADER);
programId = GL20.glCreateProgram();
GL20.glAttachShader(programId, vertShaderId);
GL20.glAttachShader(programId, fragShaderId);
bindAttributes();
GL20.glLinkProgram(programId);
GL20.glValidateProgram(programId);
LOGGER.debug("Initialized shader - {} vertex - {} fragment - {}", programId, vertShaderId, fragShaderId);
getAllUniformLocations();
}
示例6: ShaderProgram
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
/**
* Loads shader files and binds them the this program.
* @param vertexFile - Vertex Shader location
* @param fragmentFile - Fragment Shader location
*/
public ShaderProgram(String vertexFile, String fragmentFile) {
vertexShaderID = loadShader(vertexFile, GL20.GL_VERTEX_SHADER);
fragmentShaderID = loadShader(fragmentFile, GL20.GL_FRAGMENT_SHADER);
programID = GL20.glCreateProgram();
GL20.glAttachShader(programID, vertexShaderID);
GL20.glAttachShader(programID, fragmentShaderID);
bindAttributes();
GL20.glLinkProgram(programID);
GL20.glValidateProgram(programID);
initUniforms();
}
示例7: storeAllUniformLocations
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
protected void storeAllUniformLocations(Uniform... uniforms){
for(Uniform uniform : uniforms){
uniform.storeUniformLocation(programID);
}
GL20.glValidateProgram(programID);
}
示例8: validateProgram
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
protected void validateProgram(){
GL20.glValidateProgram(programID);
}
示例9: linkAndValidate
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
public void linkAndValidate() {
GL20.glLinkProgram(program);
GL20.glValidateProgram(program);
}
示例10: storeAllUniformLocations
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
protected void storeAllUniformLocations(Uniform... uniforms) {
for (Uniform uniform : uniforms) {
uniform.storeUniformLocation(programID);
}
GL20.glValidateProgram(programID);
}
示例11: validateProgram
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
protected void validateProgram() {
GL20.glValidateProgram(programID);
}