本文整理汇总了Java中org.lwjgl.opengl.GL20.glCreateShader方法的典型用法代码示例。如果您正苦于以下问题:Java GL20.glCreateShader方法的具体用法?Java GL20.glCreateShader怎么用?Java GL20.glCreateShader使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.lwjgl.opengl.GL20
的用法示例。
在下文中一共展示了GL20.glCreateShader方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: loadShader
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
private int loadShader(MyFile file, int type) {
StringBuilder shaderSource = new StringBuilder();
try {
BufferedReader reader = file.getReader();
String line;
while ((line = reader.readLine()) != null) {
shaderSource.append(line).append("//\n");
}
reader.close();
} catch (Exception e) {
System.err.println("Could not read file.");
e.printStackTrace();
System.exit(-1);
}
int shaderID = GL20.glCreateShader(type);
GL20.glShaderSource(shaderID, shaderSource);
GL20.glCompileShader(shaderID);
if (GL20.glGetShaderi(shaderID, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) {
System.out.println(GL20.glGetShaderInfoLog(shaderID, 500));
System.err.println("Could not compile shader "+ file);
System.exit(-1);
}
return shaderID;
}
示例2: loadShader
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
/**
* reads shader from file.
* @param file - File path
* @param type - Shader type
* @return - Shader ID to bind to program.
*/
private static int loadShader(String file, int type) {
StringBuilder shaderSource = new StringBuilder();
try {
InputStream in = Class.class.getResourceAsStream(file);
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
while ((line = reader.readLine()) != null) {
shaderSource.append(line).append("//\n");
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
}
int shaderID = GL20.glCreateShader(type);
GL20.glShaderSource(shaderID, shaderSource);
GL20.glCompileShader(shaderID);
if (GL20.glGetShaderi(shaderID, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) {
System.out.println(GL20.glGetShaderInfoLog(shaderID, 500));
System.err.println("Could not compile shader!");
System.exit(-1);
}
return shaderID;
}
示例3: Shader
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
public Shader(String source, int type)
{
this.type = type;
this.handle = GL20.glCreateShader(this.type);
if (this.handle == 0)
{
throw new GLException("Unable to create main.shader!");
}
GL20.glShaderSource(this.handle, source);
GL20.glCompileShader(this.handle);
int status = GL20.glGetShaderi(this.handle, GL20.GL_COMPILE_STATUS);
if (status == GL11.GL_FALSE)
{
String infolog = GL20.glGetShaderInfoLog(this.handle);
GL20.glDeleteShader(this.handle);
this.handle = 0;
throw new GLException(infolog);
}
SHADERS.add(this);
}
示例4: loadShader
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
private static int loadShader(String file, int type) {
StringBuilder shaderSource = new StringBuilder();
try {
InputStream in = Class.class.getResourceAsStream(file);
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
while ((line = reader.readLine()) != null) {
shaderSource.append(line).append("//\n");
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
}
int shaderID = GL20.glCreateShader(type);
GL20.glShaderSource(shaderID, shaderSource);
GL20.glCompileShader(shaderID);
if (GL20.glGetShaderi(shaderID, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) {
System.out.println(GL20.glGetShaderInfoLog(shaderID, 500));
System.err.println("Could not compile shader!");
System.exit(-1);
}
return shaderID;
}
示例5: loadShader
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
private int loadShader(MyFile file, int type) {
StringBuilder shaderSource = new StringBuilder();
try {
BufferedReader reader = file.getReader();
String line;
while ((line = reader.readLine()) != null) {
shaderSource.append(line).append("//\n");
}
reader.close();
} catch (Exception e) {
System.err.println("Could not read file.");
e.printStackTrace();
System.exit(-1);
}
int shaderID = GL20.glCreateShader(type);
GL20.glShaderSource(shaderID, shaderSource);
GL20.glCompileShader(shaderID);
if (GL20.glGetShaderi(shaderID, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) {
System.out.println(GL20.glGetShaderInfoLog(shaderID, 500));
System.err.println("Could not compile shader " + file);
System.exit(-1);
}
return shaderID;
}
示例6: loadShader
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
private static int loadShader(String filename, int type) {
StringBuilder shaderSource = new StringBuilder();
try {
BufferedReader reader = new BufferedReader(new FileReader(filename));
String line;
while((line = reader.readLine()) != null) {
shaderSource.append(line).append("\n");
}
reader.close();
} catch (IOException e) {
System.err.println("Could not read shader file!");
e.printStackTrace();
System.exit(-1);
}
int shaderID = GL20.glCreateShader(type);
GL20.glShaderSource(shaderID, shaderSource);
GL20.glCompileShader(shaderID);
if(GL20.glGetShader(shaderID, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) {
System.out.println(GL20.glGetShaderInfoLog(shaderID, 500));
System.err.println("Could not compile shader!");
System.exit(-1);
}
return shaderID;
}
示例7: createShader
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
private int createShader(String resource, int type) {
int shader = GL20.glCreateShader(type);
GL20.glShaderSource(shader, resource);
GL20.glCompileShader(shader);
int compiled = GL20.glGetShaderi(shader, GL20.GL_COMPILE_STATUS);
String shaderLog = GL20.glGetShaderInfoLog(shader, GL20.glGetShaderi(shader, GL20.GL_INFO_LOG_LENGTH));
if (shaderLog.trim().length() > 0) {
System.err.println(shaderLog);
}
if (compiled == 0) {
throw new AssertionError("Could not compile shader");
}
return shader;
}
示例8: addShader
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
/**
* Adds the specified shader part to the shader program
* @param type The type of shader to add
* @param fileName The full path of the shader
* @return The shader source
*/
private String addShader(int type, String fileName) throws IOException {
// The loaded shader source
String shaderSource = null;
// Load the file
StringBuilder builder = new StringBuilder();
BufferedReader reader = new BufferedReader(new FileReader(fileName));
// Read the file one line at a time
String line;
while((line = reader.readLine()) != null) {
// Add the line to the source
builder.append(line).append("\n");
}
// Release memory resources
reader.close();
// Set the shader source to the loaded file
shaderSource = builder.toString();
// The id of the shader part
int id = GL20.glCreateShader(type);
// Set the source of the shader
GL20.glShaderSource(id, shaderSource);
// Compile the shader source
GL20.glCompileShader(id);
// Check to make sure compliation was successful
closeIfShaderError(GL20.glGetShaderi(id, GL20.GL_COMPILE_STATUS) == 0, id);
// Attach the shader to the program
GL20.glAttachShader(pid, id);
return shaderSource;
}
示例9: loadShader
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
private static int loadShader(String file, int type) {
int shaderID = GL20.glCreateShader(type);
GL20.glShaderSource(shaderID, FileLoadUtils.loadFileSource(file));
GL20.glCompileShader(shaderID);
if (GL20.glGetShaderi(shaderID, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) {
final String glGetShaderInfoLog = GL20.glGetShaderInfoLog(shaderID, 500);
LOGGER.error("Can not compile shader - {}", glGetShaderInfoLog);
throw new IllegalArgumentException("Can not compile shader - " + glGetShaderInfoLog);
}
return shaderID;
}
示例10: glCreateShader
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
/**
* creates a shader with the given mode and returns the GL id. params: mode
*/
public static int glCreateShader(int type)
{
return arbShaders ? ARBShaderObjects.glCreateShaderObjectARB(type) : GL20.glCreateShader(type);
}
示例11: loadShader
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
/**
* loads the current shader type into memory
*/
private int loadShader(String fileName, int type) {
StringBuilder sb = new StringBuilder();
Exception exception = null;
try {
InputStream in = Util.loadInternal(fileName);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append("\n");
}
br.close();
} catch (Exception e) {
exception = e;
sb.append(fileName);
}
String previousString = "";
String lastString = "";
for (String s : sb.toString().split("\\s+")) {
for (String s2 : s.split(";")) {
if (lastString.equals("uniform")) {
String uniform = s2.replace(" ", "").replace(";", "");
uniformsDetection.add(uniform);
}
lastString = previousString;
previousString = s2;
}
}
int shaderID = GL20.glCreateShader(type);
GL20.glShaderSource(shaderID, sb);
GL20.glCompileShader(shaderID);
if(GL20.glGetShaderi(shaderID, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) {
exception.printStackTrace();
System.err.println(GL20.glGetShaderInfoLog(shaderID));
}
return shaderID;
}