All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.opengles.ANGLETranslatedShaderSource Maven / Gradle / Ivy

There is a newer version: 3.3.4
Show newest version
/*
 * Copyright LWJGL. All rights reserved.
 * License terms: http://lwjgl.org/license.php
 * MACHINE GENERATED FILE, DO NOT EDIT
 */
package org.lwjgl.opengles;

import java.nio.*;

import org.lwjgl.*;
import org.lwjgl.system.*;

import static org.lwjgl.system.APIUtil.*;
import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
import static org.lwjgl.system.MemoryUtil.*;

/**
 * Native bindings to the ANGLE_translated_shader_source extension.
 * 
 * 

WebGL uses the GLSL ES 2.0 spec on all platforms, and translates these shaders to the host platform's native language (HLSL, GLSL, and even GLSL ES). * For debugging purposes, it is useful to be able to examine the shader after translation.

* *

This extension addes a new function to query the translated shader source, and adds a new enum for GetShaderiv's <pname> parameter to query the * translated shader source length.

* *

Requires {@link GLES20 GLES 2.0}.

*/ public class ANGLETranslatedShaderSource { /** Accepted by the {@code pname} parameter of GetShaderiv. */ public static final int GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE = 0x93A0; /** Function address. */ @JavadocExclude public final long GetTranslatedShaderSourceANGLE; @JavadocExclude protected ANGLETranslatedShaderSource() { throw new UnsupportedOperationException(); } @JavadocExclude public ANGLETranslatedShaderSource(FunctionProvider provider) { GetTranslatedShaderSourceANGLE = provider.getFunctionAddress("glGetTranslatedShaderSourceANGLE"); } // --- [ Function Addresses ] --- /** Returns the {@link ANGLETranslatedShaderSource} instance of the current context. */ public static ANGLETranslatedShaderSource getInstance() { return getInstance(GLES.getCapabilities()); } /** Returns the {@link ANGLETranslatedShaderSource} instance of the specified {@link GLESCapabilities}. */ public static ANGLETranslatedShaderSource getInstance(GLESCapabilities caps) { return checkFunctionality(caps.__ANGLETranslatedShaderSource); } static ANGLETranslatedShaderSource create(java.util.Set ext, FunctionProvider provider) { if ( !ext.contains("GL_ANGLE_translated_shader_source") ) return null; ANGLETranslatedShaderSource funcs = new ANGLETranslatedShaderSource(provider); boolean supported = checkFunctions( funcs.GetTranslatedShaderSourceANGLE ); return GLES.checkExtension("GL_ANGLE_translated_shader_source", funcs, supported); } // --- [ glGetTranslatedShaderSourceANGLE ] --- /** Unsafe version of {@link #glGetTranslatedShaderSourceANGLE GetTranslatedShaderSourceANGLE} */ @JavadocExclude public static void nglGetTranslatedShaderSourceANGLE(int shader, int bufsize, long length, long source) { long __functionAddress = getInstance().GetTranslatedShaderSourceANGLE; callIIPPV(__functionAddress, shader, bufsize, length, source); } public static void glGetTranslatedShaderSourceANGLE(int shader, int bufsize, ByteBuffer length, ByteBuffer source) { if ( CHECKS ) { checkBuffer(source, bufsize); if ( length != null ) checkBuffer(length, 1 << 2); } nglGetTranslatedShaderSourceANGLE(shader, bufsize, memAddressSafe(length), memAddress(source)); } /** Alternative version of: {@link #glGetTranslatedShaderSourceANGLE GetTranslatedShaderSourceANGLE} */ public static void glGetTranslatedShaderSourceANGLE(int shader, IntBuffer length, ByteBuffer source) { if ( CHECKS ) if ( length != null ) checkBuffer(length, 1); nglGetTranslatedShaderSourceANGLE(shader, source.remaining(), memAddressSafe(length), memAddress(source)); } /** String return version of: {@link #glGetTranslatedShaderSourceANGLE GetTranslatedShaderSourceANGLE} */ public static String glGetTranslatedShaderSourceANGLE(int shader, int bufsize) { APIBuffer __buffer = apiBuffer(); int length = __buffer.intParam(); int source = __buffer.bufferParam(bufsize); nglGetTranslatedShaderSourceANGLE(shader, bufsize, __buffer.address(length), __buffer.address(source)); return memDecodeUTF8(__buffer.buffer(), __buffer.intValue(length), source); } /** String return (w/ implicit max length) version of: {@link #glGetTranslatedShaderSourceANGLE GetTranslatedShaderSourceANGLE} */ public static String glGetTranslatedShaderSourceANGLE(int shader) { int bufsize = GLES20.glGetShaderi(shader, GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE); APIBuffer __buffer = apiBuffer(); int length = __buffer.intParam(); int source = __buffer.bufferParam(bufsize); nglGetTranslatedShaderSourceANGLE(shader, bufsize, __buffer.address(length), __buffer.address(source)); return memDecodeUTF8(__buffer.buffer(), __buffer.intValue(length), source); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy