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


Java GL2.glCreateShader方法代码示例

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


在下文中一共展示了GL2.glCreateShader方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: initShader

import javax.media.opengl.GL2; //导入方法依赖的package包/类
/**
 * Inicializuje Vertex/Fragment shader.
 *
 * @param gl graficky kontext
 * @param shaderType typ shaderu
 * @param shaderString obsah shaderu
 * @return ID shaderu
 */
protected int initShader(GL2 gl, int shaderType, String shaderString) {
    int shaderId = gl.glCreateShader(shaderType);
    gl.glShaderSource(shaderId, 1, new String[]{shaderString}, new int[]{shaderString.length()}, 0);
    gl.glCompileShader(shaderId);
    checkShaderStatus(gl, shaderId, 2);

    return shaderId;

}
 
开发者ID:Fidentis,项目名称:Analyst,代码行数:18,代码来源:ComparisonGLEventListener.java

示例2: compileShader

import javax.media.opengl.GL2; //导入方法依赖的package包/类
/**
 * Compile a shader from a file.
 *
 * @param context Class context for loading the resource file.
 * @param gl GL context
 * @param type
 * @param name
 * @return Shader program number.
 * @throws ShaderCompilationException When compilation failed.
 */
public static int compileShader(Class<?> context, GL2 gl, int type, String name) throws ShaderCompilationException {
  int prog = -1;
  try (InputStream in = context.getResourceAsStream(name)) {
    int[] error = new int[1];
    String shaderdata = FileUtil.slurp(in);
    prog = gl.glCreateShader(type);
    gl.glShaderSource(prog, 1, new String[] { shaderdata }, null, 0);
    gl.glCompileShader(prog);
    // This worked best for me to capture error messages:
    gl.glGetObjectParameterivARB(prog, GL2.GL_OBJECT_INFO_LOG_LENGTH_ARB, error, 0);
    if(error[0] > 1) {
      byte[] info = new byte[error[0]];
      gl.glGetInfoLogARB(prog, info.length, error, 0, info, 0);
      String out = new String(info);
      gl.glDeleteShader(prog);
      throw new ShaderCompilationException("Shader compilation error in '" + name + "': " + out);
    }
    // Different way of catching errors.
    gl.glGetShaderiv(prog, GL2.GL_COMPILE_STATUS, error, 0);
    if(error[0] > 1) {
      throw new ShaderCompilationException("Shader compilation of '" + name + "' failed.");
    }
  }
  catch(IOException e) {
    throw new ShaderCompilationException("IO error loading shader: " + name, e);
  }
  return prog;
}
 
开发者ID:elki-project,项目名称:elki,代码行数:39,代码来源:ShaderUtil.java


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