diff --git a/.idea/libraries/Flutter_Plugins.xml b/.idea/libraries/Flutter_Plugins.xml new file mode 100644 index 0000000..b0f6971 --- /dev/null +++ b/.idea/libraries/Flutter_Plugins.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Flutter_Plugins.xml b/.idea/libraries/Flutter_Plugins.xml new file mode 100644 index 0000000..b0f6971 --- /dev/null +++ b/.idea/libraries/Flutter_Plugins.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml deleted file mode 100644 index 580ddd7..0000000 --- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Flutter_Plugins.xml b/.idea/libraries/Flutter_Plugins.xml new file mode 100644 index 0000000..b0f6971 --- /dev/null +++ b/.idea/libraries/Flutter_Plugins.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml deleted file mode 100644 index 580ddd7..0000000 --- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml new file mode 100644 index 0000000..603abbe --- /dev/null +++ b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Flutter_Plugins.xml b/.idea/libraries/Flutter_Plugins.xml new file mode 100644 index 0000000..b0f6971 --- /dev/null +++ b/.idea/libraries/Flutter_Plugins.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml deleted file mode 100644 index 580ddd7..0000000 --- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml new file mode 100644 index 0000000..603abbe --- /dev/null +++ b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/kudens.iml b/.idea/modules/kudens.iml index 5e5bcd9..7fe6290 100644 --- a/.idea/modules/kudens.iml +++ b/.idea/modules/kudens.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/libraries/Flutter_Plugins.xml b/.idea/libraries/Flutter_Plugins.xml new file mode 100644 index 0000000..b0f6971 --- /dev/null +++ b/.idea/libraries/Flutter_Plugins.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml deleted file mode 100644 index 580ddd7..0000000 --- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml new file mode 100644 index 0000000..603abbe --- /dev/null +++ b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/kudens.iml b/.idea/modules/kudens.iml index 5e5bcd9..7fe6290 100644 --- a/.idea/modules/kudens.iml +++ b/.idea/modules/kudens.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_main.iml b/.idea/modules/kudens_main.iml index 6254f9b..a0a18a1 100644 --- a/.idea/modules/kudens_main.iml +++ b/.idea/modules/kudens_main.iml @@ -1,13 +1,16 @@ - + - + + \ No newline at end of file diff --git a/.idea/libraries/Flutter_Plugins.xml b/.idea/libraries/Flutter_Plugins.xml new file mode 100644 index 0000000..b0f6971 --- /dev/null +++ b/.idea/libraries/Flutter_Plugins.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml deleted file mode 100644 index 580ddd7..0000000 --- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml new file mode 100644 index 0000000..603abbe --- /dev/null +++ b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/kudens.iml b/.idea/modules/kudens.iml index 5e5bcd9..7fe6290 100644 --- a/.idea/modules/kudens.iml +++ b/.idea/modules/kudens.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_main.iml b/.idea/modules/kudens_main.iml index 6254f9b..a0a18a1 100644 --- a/.idea/modules/kudens_main.iml +++ b/.idea/modules/kudens_main.iml @@ -1,13 +1,16 @@ - + - + + \ No newline at end of file diff --git a/.idea/modules/kudens_test.iml b/.idea/modules/kudens_test.iml index f536305..04da892 100644 --- a/.idea/modules/kudens_test.iml +++ b/.idea/modules/kudens_test.iml @@ -1,5 +1,5 @@ - + @@ -7,6 +7,7 @@ \ No newline at end of file diff --git a/.idea/libraries/Flutter_Plugins.xml b/.idea/libraries/Flutter_Plugins.xml new file mode 100644 index 0000000..b0f6971 --- /dev/null +++ b/.idea/libraries/Flutter_Plugins.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml deleted file mode 100644 index 580ddd7..0000000 --- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml new file mode 100644 index 0000000..603abbe --- /dev/null +++ b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/kudens.iml b/.idea/modules/kudens.iml index 5e5bcd9..7fe6290 100644 --- a/.idea/modules/kudens.iml +++ b/.idea/modules/kudens.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_main.iml b/.idea/modules/kudens_main.iml index 6254f9b..a0a18a1 100644 --- a/.idea/modules/kudens_main.iml +++ b/.idea/modules/kudens_main.iml @@ -1,13 +1,16 @@ - + - + + \ No newline at end of file diff --git a/.idea/modules/kudens_test.iml b/.idea/modules/kudens_test.iml index f536305..04da892 100644 --- a/.idea/modules/kudens_test.iml +++ b/.idea/modules/kudens_test.iml @@ -1,5 +1,5 @@ - + @@ -7,6 +7,7 @@ \ No newline at end of file diff --git a/src/main/kotlin/games/perses/shader/ShaderProgramMesh.kt b/src/main/kotlin/games/perses/shader/ShaderProgramMesh.kt index f7ad203..d9a3908 100644 --- a/src/main/kotlin/games/perses/shader/ShaderProgramMesh.kt +++ b/src/main/kotlin/games/perses/shader/ShaderProgramMesh.kt @@ -3,6 +3,7 @@ import org.khronos.webgl.Float32Array import org.khronos.webgl.WebGLBuffer import org.khronos.webgl.WebGLRenderingContext +import org.khronos.webgl.set /** * User: rnentjes @@ -25,13 +26,19 @@ var counter = 0 init { - attribBuffer = webgl.createBuffer() ?: throw IllegalStateException("Unable to create webgl buffer!") webgl.bindBuffer(WebGLRenderingContext.ARRAY_BUFFER, attribBuffer) } fun queue(vararg vertices: Float) { - queueArray(vertices.toTypedArray()) + for (vertice in vertices) { + data[currentIndex++] = vertice + } + + if (bufferFull()) { + println("Skipped draw call, to many values!") + currentIndex = 0 + } } fun queueArray(vertices: Array) { @@ -39,7 +46,7 @@ currentIndex += vertices.size if (bufferFull()) { - //println("Skipped draw call, to many values!") + println("Skipped draw call, to many values!") currentIndex = 0 } } @@ -58,7 +65,7 @@ shaderProgram.begin(attribBuffer, userdata) webgl.bufferData(WebGLRenderingContext.ARRAY_BUFFER, data, WebGLRenderingContext.DYNAMIC_DRAW) - webgl.drawArrays(shaderProgram.drawType, 0, (currentIndex / shaderProgram.verticesBlockSize).toInt()) + webgl.drawArrays(shaderProgram.drawType, 0, (currentIndex / shaderProgram.verticesBlockSize)) currentIndex = 0 shaderProgram.end() diff --git a/.idea/libraries/Flutter_Plugins.xml b/.idea/libraries/Flutter_Plugins.xml new file mode 100644 index 0000000..b0f6971 --- /dev/null +++ b/.idea/libraries/Flutter_Plugins.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml deleted file mode 100644 index 580ddd7..0000000 --- a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml new file mode 100644 index 0000000..603abbe --- /dev/null +++ b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_js_1_1_51.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/kudens.iml b/.idea/modules/kudens.iml index 5e5bcd9..7fe6290 100644 --- a/.idea/modules/kudens.iml +++ b/.idea/modules/kudens.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_main.iml b/.idea/modules/kudens_main.iml index 6254f9b..a0a18a1 100644 --- a/.idea/modules/kudens_main.iml +++ b/.idea/modules/kudens_main.iml @@ -1,13 +1,16 @@ - + - + + \ No newline at end of file diff --git a/.idea/modules/kudens_test.iml b/.idea/modules/kudens_test.iml index f536305..04da892 100644 --- a/.idea/modules/kudens_test.iml +++ b/.idea/modules/kudens_test.iml @@ -1,5 +1,5 @@ - + @@ -7,6 +7,7 @@ \ No newline at end of file diff --git a/src/main/kotlin/games/perses/shader/ShaderProgramMesh.kt b/src/main/kotlin/games/perses/shader/ShaderProgramMesh.kt index f7ad203..d9a3908 100644 --- a/src/main/kotlin/games/perses/shader/ShaderProgramMesh.kt +++ b/src/main/kotlin/games/perses/shader/ShaderProgramMesh.kt @@ -3,6 +3,7 @@ import org.khronos.webgl.Float32Array import org.khronos.webgl.WebGLBuffer import org.khronos.webgl.WebGLRenderingContext +import org.khronos.webgl.set /** * User: rnentjes @@ -25,13 +26,19 @@ var counter = 0 init { - attribBuffer = webgl.createBuffer() ?: throw IllegalStateException("Unable to create webgl buffer!") webgl.bindBuffer(WebGLRenderingContext.ARRAY_BUFFER, attribBuffer) } fun queue(vararg vertices: Float) { - queueArray(vertices.toTypedArray()) + for (vertice in vertices) { + data[currentIndex++] = vertice + } + + if (bufferFull()) { + println("Skipped draw call, to many values!") + currentIndex = 0 + } } fun queueArray(vertices: Array) { @@ -39,7 +46,7 @@ currentIndex += vertices.size if (bufferFull()) { - //println("Skipped draw call, to many values!") + println("Skipped draw call, to many values!") currentIndex = 0 } } @@ -58,7 +65,7 @@ shaderProgram.begin(attribBuffer, userdata) webgl.bufferData(WebGLRenderingContext.ARRAY_BUFFER, data, WebGLRenderingContext.DYNAMIC_DRAW) - webgl.drawArrays(shaderProgram.drawType, 0, (currentIndex / shaderProgram.verticesBlockSize).toInt()) + webgl.drawArrays(shaderProgram.drawType, 0, (currentIndex / shaderProgram.verticesBlockSize)) currentIndex = 0 shaderProgram.end() diff --git a/src/main/kotlin/games/perses/text/Texts.kt b/src/main/kotlin/games/perses/text/Texts.kt index 56f4834..52d1a0d 100644 --- a/src/main/kotlin/games/perses/text/Texts.kt +++ b/src/main/kotlin/games/perses/text/Texts.kt @@ -33,4 +33,5 @@ fillStyle ) } + }