本文整理汇总了Java中org.lwjgl.opengl.GL40类的典型用法代码示例。如果您正苦于以下问题:Java GL40类的具体用法?Java GL40怎么用?Java GL40使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
GL40类属于org.lwjgl.opengl包,在下文中一共展示了GL40类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: compileGLSL
import org.lwjgl.opengl.GL40; //导入依赖的package包/类
private ExtendedGLSLProgram compileGLSL(
String vertexShaderCode,
String fragmentShaderCode,
String geometryShaderCode,
String tcsShaderCode,
String tesShaderCode,
ProgramAssemblyInfo assemblyInfo) {
int vertexShader = compileShader(GL20.GL_VERTEX_SHADER, vertexShaderCode, assemblyInfo);
int fragmentShader = compileShader(GL20.GL_FRAGMENT_SHADER, fragmentShaderCode, assemblyInfo);
int geometryShader = compileShader(GL32.GL_GEOMETRY_SHADER, geometryShaderCode, assemblyInfo);
int tcsShader = compileShader(GL40.GL_TESS_CONTROL_SHADER, tcsShaderCode, assemblyInfo);
int tesShader = compileShader(GL40.GL_TESS_EVALUATION_SHADER, tesShaderCode, assemblyInfo);
int program;
String[] outNames = ProgramOutputResolver.getOutput(fragmentShaderCode);
program = GLSLShaderCompiler.createProgram(
new int[]{vertexShader, tcsShader, tesShader, geometryShader, fragmentShader}, outNames, assemblyInfo.getProgramName()
);
return new ExtendedGLSLProgram(fragmentShader, vertexShader, geometryShader, tcsShader, tesShader, program);
}
示例2: getDeviceProperties
import org.lwjgl.opengl.GL40; //导入依赖的package包/类
private void getDeviceProperties(){
System.out.println("OpenGL version: " + GL11.glGetString(GL11.GL_VERSION) + " bytes");
System.out.println("Max Geometry Uniform Blocks: " + GL31.GL_MAX_GEOMETRY_UNIFORM_BLOCKS+ " bytes");
System.out.println("Max Geometry Shader Invocations: " + GL40.GL_MAX_GEOMETRY_SHADER_INVOCATIONS + " bytes");
System.out.println("Max Uniform Buffer Bindings: " + GL31.GL_MAX_UNIFORM_BUFFER_BINDINGS + " bytes");
System.out.println("Max Uniform Block Size: " + GL31.GL_MAX_UNIFORM_BLOCK_SIZE + " bytes");
System.out.println("Max SSBO Block Size: " + GL43.GL_MAX_SHADER_STORAGE_BLOCK_SIZE + " bytes");
}
示例3: buildMapping
import org.lwjgl.opengl.GL40; //导入依赖的package包/类
private static void buildMapping() {
if (mapping != null) return;
Multimap<Integer, String> map = HashMultimap.create();
List<Class<?>> classes = ImmutableList.of(
GL11.class, GL12.class, GL13.class, GL14.class, GL15.class,
GL20.class, GL21.class, GL30.class, GL31.class, GL32.class,
GL33.class, GL40.class, GL41.class, GL42.class, GL43.class,
GL44.class, GL45.class, GLFW.class
);
for (Class<?> clazz : classes) {
for (Field f : clazz.getDeclaredFields()) {
if (f.getName().toUpperCase(Locale.ROOT).equals(f.getName()) &&
f.getType() == int.class && Modifier.isPublic(f.getModifiers()) && Modifier.isStatic(f.getModifiers())) {
List<String> li = Splitter.on('_').splitToList(f.getName());
li = li.subList(1, li.size());
String clean =
Joiner.on(' ').join(
li.stream()
.map(Errors::toTitleCase)
.iterator());
try {
map.put(f.getInt(null), clean);
} catch (Throwable t) {
t.printStackTrace();
}
}
}
}
mapping = map;
}
示例4: getDeviceProperties
import org.lwjgl.opengl.GL40; //导入依赖的package包/类
private void getDeviceProperties(){
System.out.println("OpenGL version: " + GL11.glGetString(GL11.GL_VERSION) + " bytes");
System.out.println("Max Geometry Uniform Blocks: " + GL11.glGetInteger(GL31.GL_MAX_GEOMETRY_UNIFORM_BLOCKS));
System.out.println("Max Geometry Shader Invocations: " + GL11.glGetInteger(GL40.GL_MAX_GEOMETRY_SHADER_INVOCATIONS));
System.out.println("Max Uniform Buffer Bindings: " + GL11.glGetInteger(GL31.GL_MAX_UNIFORM_BUFFER_BINDINGS));
System.out.println("Max Uniform Block Size: " + GL11.glGetInteger(GL31.GL_MAX_UNIFORM_BLOCK_SIZE) + " bytes");
System.out.println("Max SSBO Block Size: " + GL11.glGetInteger(GL43.GL_MAX_SHADER_STORAGE_BLOCK_SIZE) + " bytes");
System.out.println("Max Image Bindings: " + GL11.glGetInteger(GL42.GL_MAX_IMAGE_UNITS));
}
示例5: glBindTransformFeedback
import org.lwjgl.opengl.GL40; //导入依赖的package包/类
@Override
public void glBindTransformFeedback (int target, int id) {
GL40.glBindTransformFeedback(target, id);
}
示例6: glDeleteTransformFeedbacks
import org.lwjgl.opengl.GL40; //导入依赖的package包/类
@Override
public void glDeleteTransformFeedbacks (int n, int[] ids, int offset) {
for(int i = offset; i < offset + n; i++) {
GL40.glDeleteTransformFeedbacks(ids[i]);
}
}
示例7: glGenTransformFeedbacks
import org.lwjgl.opengl.GL40; //导入依赖的package包/类
@Override
public void glGenTransformFeedbacks (int n, int[] ids, int offset) {
for(int i = offset; i < offset + n; i++) {
ids[i] = GL40.glGenTransformFeedbacks();
}
}
示例8: glIsTransformFeedback
import org.lwjgl.opengl.GL40; //导入依赖的package包/类
@Override
public boolean glIsTransformFeedback (int id) {
return GL40.glIsTransformFeedback(id);
}
示例9: glPauseTransformFeedback
import org.lwjgl.opengl.GL40; //导入依赖的package包/类
@Override
public void glPauseTransformFeedback () {
GL40.glPauseTransformFeedback();
}
示例10: glResumeTransformFeedback
import org.lwjgl.opengl.GL40; //导入依赖的package包/类
@Override
public void glResumeTransformFeedback () {
GL40.glResumeTransformFeedback();
}
示例11: glDrawElementsIndirect
import org.lwjgl.opengl.GL40; //导入依赖的package包/类
public static void glDrawElementsIndirect(int mode, int type, long indirect_buffer_offset) throws GLException
{
GL40.glDrawElementsIndirect(mode, type, indirect_buffer_offset);//TODO Move to GL4
RenderHelper.checkForGLError();
}