当前位置: 首页>>代码示例>>Java>>正文


Java GL20.glShaderSource方法代码示例

本文整理汇总了Java中org.lwjgl.opengl.GL20.glShaderSource方法的典型用法代码示例。如果您正苦于以下问题:Java GL20.glShaderSource方法的具体用法?Java GL20.glShaderSource怎么用?Java GL20.glShaderSource使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.lwjgl.opengl.GL20的用法示例。


在下文中一共展示了GL20.glShaderSource方法的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;
}
 
开发者ID:TheThinMatrix,项目名称:LowPolyWater,代码行数:25,代码来源:ShaderProgram.java

示例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;
}
 
开发者ID:Essentria,项目名称:Elgin-Plant-Game,代码行数:31,代码来源:ShaderProgram.java

示例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);
}
 
开发者ID:andykuo1,项目名称:candlelight,代码行数:26,代码来源:Shader.java

示例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;
}
 
开发者ID:DevipriyaSarkar,项目名称:Terrain,代码行数:25,代码来源:ShaderProgram.java

示例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;
}
 
开发者ID:GryPLOfficial,项目名称:EcoSystem-Official,代码行数:25,代码来源:ShaderProgram.java

示例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;
}
 
开发者ID:marcioz98,项目名称:MRCEngine,代码行数:30,代码来源:ShaderProgram.java

示例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;
}
 
开发者ID:18107,项目名称:MC-Ray-Tracer,代码行数:15,代码来源:Shader.java

示例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;
   }
 
开发者ID:camilne,项目名称:open-world,代码行数:44,代码来源:Shader.java

示例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;
}
 
开发者ID:Biacode,项目名称:bia-engine,代码行数:12,代码来源:ShaderProgram.java

示例10: glShaderSource

import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
public static void glShaderSource(int shaderIn, ByteBuffer string)
{
    if (arbShaders)
    {
        ARBShaderObjects.glShaderSourceARB(shaderIn, string);
    }
    else
    {
        GL20.glShaderSource(shaderIn, string);
    }
}
 
开发者ID:Notoh,项目名称:DecompiledMinecraft,代码行数:12,代码来源:OpenGlHelper.java

示例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;
}
 
开发者ID:ComunityEngine,项目名称:CommunityEngine-Java,代码行数:45,代码来源:Shader.java


注:本文中的org.lwjgl.opengl.GL20.glShaderSource方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。