/** String return version of: {@link #glGetActiveUniformName GetActiveUniformName} */ public static String glGetActiveUniformName(int program, int uniformIndex, int bufSize) { APIBuffer __buffer = apiBuffer(); int length = __buffer.intParam(); int uniformName = __buffer.bufferParam(bufSize); nglGetActiveUniformName( program, uniformIndex, bufSize, __buffer.address(length), __buffer.address(uniformName)); return memDecodeASCII(memByteBuffer(__buffer.address(uniformName), __buffer.intValue(length))); }
/** * String return (w/ implicit max length) version of: {@link #glGetActiveSubroutineName * GetActiveSubroutineName} */ public static String glGetActiveSubroutineName(int program, int shadertype, int index) { int bufsize = glGetProgramStagei(program, shadertype, GL_ACTIVE_SUBROUTINE_MAX_LENGTH); APIBuffer __buffer = apiBuffer(); int length = __buffer.intParam(); int name = __buffer.bufferParam(bufsize); nglGetActiveSubroutineName( program, shadertype, index, bufsize, __buffer.address() + length, __buffer.address() + name); return memDecodeASCII(memByteBuffer(__buffer.address() + name, __buffer.intValue(length))); }
/** String return version of: {@link #glGetActiveSubroutineName GetActiveSubroutineName} */ public static String glGetActiveSubroutineName( int program, int shadertype, int index, int bufsize) { APIBuffer __buffer = apiBuffer(); int length = __buffer.intParam(); int name = __buffer.bufferParam(bufsize); nglGetActiveSubroutineName( program, shadertype, index, bufsize, __buffer.address() + length, __buffer.address() + name); return memDecodeASCII(memByteBuffer(__buffer.address() + name, __buffer.intValue(length))); }
private int getString(long object, int arg, int param_name, APIBuffer __buffer) { // Get string length int errcode = get(object, arg, param_name, 0, NULL, __buffer.address()); if (DEBUG) checkCLError(errcode); int bytes = (int) __buffer.pointerValue(0); __buffer.bufferParam(bytes + POINTER_SIZE); // Get string errcode = get(object, arg, param_name, bytes, __buffer.address(), NULL); if (DEBUG) checkCLError(errcode); return bytes - 1; // all OpenCL char[] parameters are null-terminated }
/** * String return (w/ implicit max length) version of: {@link #glGetActiveSubroutineUniformName * GetActiveSubroutineUniformName} */ public static String glGetActiveSubroutineUniformName(int program, int shadertype, int index) { int bufsize = glGetActiveSubroutineUniformi(program, shadertype, index, GL31.GL_UNIFORM_NAME_LENGTH); APIBuffer __buffer = apiBuffer(); int length = __buffer.intParam(); int name = __buffer.bufferParam(bufsize); nglGetActiveSubroutineUniformName( program, shadertype, index, bufsize, __buffer.address() + length, __buffer.address() + name); return memDecodeASCII(memByteBuffer(__buffer.address() + name, __buffer.intValue(length))); }
/** * String return (w/ implicit max length) version of: {@link #glGetActiveUniformBlockName * GetActiveUniformBlockName} */ public static String glGetActiveUniformBlockName(int program, int uniformBlockIndex) { int bufSize = glGetActiveUniformBlocki(program, uniformBlockIndex, GL_UNIFORM_BLOCK_NAME_LENGTH); APIBuffer __buffer = apiBuffer(); int length = __buffer.intParam(); int uniformBlockName = __buffer.bufferParam(bufSize); nglGetActiveUniformBlockName( program, uniformBlockIndex, bufSize, __buffer.address(length), __buffer.address(uniformBlockName)); return memDecodeASCII( memByteBuffer(__buffer.address(uniformBlockName), __buffer.intValue(length))); }
/** Array version of: {@link #glGetUniformIndices GetUniformIndices} */ public static void glGetUniformIndices( int program, CharSequence[] uniformNames, IntBuffer uniformIndices) { if (LWJGLUtil.CHECKS) checkBuffer(uniformIndices, uniformNames.length); APIBuffer __buffer = apiBuffer(); int uniformNamesAddress = __buffer.bufferParam(uniformNames.length << POINTER_SHIFT); ByteBuffer[] uniformNamesBuffers = new ByteBuffer[uniformNames.length]; for (int i = 0; i < uniformNames.length; i++) __buffer.pointerParam( uniformNamesAddress, i, memAddress(uniformNamesBuffers[i] = memEncodeASCII(uniformNames[i], true))); nglGetUniformIndices( program, uniformNames.length, __buffer.address(uniformNamesAddress), memAddress(uniformIndices)); }