Skip to content

Commit b6754ed

Browse files
committed
- ShaderProgram
1 parent cfe8f41 commit b6754ed

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

src/main/kotlin/extensions/Extensions.kt

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,31 @@ val ShaderProgram.name
1313
get() = program()
1414

1515
fun ShaderCode.create(gl: GL2ES2, type: Int, context: Class<*>, sourceFiles: Array<String>)
16-
= ShaderCode.create(gl, type, sourceFiles.size, context, sourceFiles, false)
16+
= ShaderCode.create(gl, type, sourceFiles.size, context, sourceFiles, false)
17+
18+
fun createShaderProgram(gl: GL2ES2, context: Class<*>, shaderSrc: String): ShaderProgram {
19+
20+
val program = ShaderProgram()
21+
22+
val vertShader = ShaderCode.create(gl, GL2ES2.GL_VERTEX_SHADER, 1, context, arrayOf("$shaderSrc.vert"), false)
23+
val fragShader = ShaderCode.create(gl, GL2ES2.GL_FRAGMENT_SHADER, 1, context, arrayOf("$shaderSrc.frag"), false)
24+
25+
program.add(vertShader)
26+
program.add(fragShader)
27+
28+
program.init(gl)
29+
30+
program.link(gl, System.err)
31+
32+
vertShader.destroy(gl)
33+
fragShader.destroy(gl)
34+
35+
return program
36+
}
37+
38+
class ShaderProgramUtil() {
39+
companion object {
40+
@JvmStatic fun create(gl: GL2ES2, context: Class<*>, shaderSrc: String): ShaderProgram =
41+
createShaderProgram(gl, context, shaderSrc)
42+
}
43+
}

0 commit comments

Comments
 (0)