fixed code for Emscripten;

Canoi aacd6bb0 0ebed0f7

Changed files
+23 -10
+2 -2
CMakeLists.txt
··· 4 message("Compiling for ${CMAKE_SYSTEM_NAME}") 5 6 if (CMAKE_SYSTEM_NAME MATCHES "Emscripten") 7 - set(USE_FLAGS "-sFULL_ES2 -s EXPORTED_FUNCTIONS=\"['_malloc']\"") 8 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${USE_FLAGS}") 9 - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${USE_FLAGS}") 10 set(CMAKE_EXECUTABLE_SUFFIX .js) 11 set(EMSCRIPTEN 1) 12 endif()
··· 4 message("Compiling for ${CMAKE_SYSTEM_NAME}") 5 6 if (CMAKE_SYSTEM_NAME MATCHES "Emscripten") 7 + set(USE_FLAGS "-sFULL_ES2 --emrun") 8 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${USE_FLAGS}") 9 + # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${USE_FLAGS}") 10 set(CMAKE_EXECUTABLE_SUFFIX .js) 11 set(EMSCRIPTEN 1) 12 endif()
+7 -8
bite.c
··· 687 688 start = terminator; 689 } 690 } 691 #endif 692 ··· 699 be_Render* render = &(ctx->render); 700 701 float vertices[] = { 702 - 0.f, 0.5f, 1.f, 0.f, 0.f, 703 - -0.5f, -0.5f, 0.f, 1.f, 0.f, 704 - 0.5f, -0.5f, 0.f, 0.f, 1.f 705 }; 706 707 #if !defined(__EMSCRIPTEN__) ··· 714 715 glEnableVertexAttribArray(0); 716 glEnableVertexAttribArray(1); 717 - glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void*)0); 718 - glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void*)(2 * sizeof(float))); 719 - glBindBuffer(GL_ARRAY_BUFFER, 0); 720 #if !defined(__EMSCRIPTEN__) 721 glBindVertexArray(0); 722 #endif 723 - 724 - 725 return BITE_OK; 726 } 727
··· 687 688 start = terminator; 689 } 690 + return BITE_FALSE; 691 } 692 #endif 693 ··· 700 be_Render* render = &(ctx->render); 701 702 float vertices[] = { 703 + 0.f, 0.5f, 1.f, 0.f, 0.f, 1.f, 704 + -0.5f, -0.5f, 0.f, 1.f, 0.f, 1.f, 705 + 0.5f, -0.5f, 0.f, 0.f, 1.f, 1.f 706 }; 707 708 #if !defined(__EMSCRIPTEN__) ··· 715 716 glEnableVertexAttribArray(0); 717 glEnableVertexAttribArray(1); 718 + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 6*sizeof(float), (void*)0); 719 + glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE, 6*sizeof(float), (void*)(2 * sizeof(float))); 720 + // glBindBuffer(GL_ARRAY_BUFFER, 0); 721 #if !defined(__EMSCRIPTEN__) 722 glBindVertexArray(0); 723 #endif 724 return BITE_OK; 725 } 726
+14
main.c
··· 5 #endif 6 7 const char* vert = 8 "#version 140\n" 9 "in vec2 a_Position;\n" 10 "in vec4 a_Color;\n" 11 "out vec4 v_Color;\n" 12 "void main() {\n" 13 " gl_Position = vec4(a_Position.x, a_Position.y, 0, 1.0);\n" 14 " v_Color = a_Color;\n" 15 "}"; 16 17 const char* frag = 18 "#version 140\n" 19 "in vec4 v_Color;\n" 20 "out vec4 o_FragColor;\n" 21 "void main() {" 22 " o_FragColor = v_Color;\n" 23 "}";
··· 5 #endif 6 7 const char* vert = 8 + #if defined(__EMSCRIPTEN__) 9 + "#version 100\n" 10 + "attribute vec2 a_Position;\n" 11 + "attribute vec4 a_Color;\n" 12 + "varying vec4 v_Color;\n" 13 + #else 14 "#version 140\n" 15 "in vec2 a_Position;\n" 16 "in vec4 a_Color;\n" 17 "out vec4 v_Color;\n" 18 + #endif 19 "void main() {\n" 20 " gl_Position = vec4(a_Position.x, a_Position.y, 0, 1.0);\n" 21 " v_Color = a_Color;\n" 22 "}"; 23 24 const char* frag = 25 + #if defined(__EMSCRIPTEN__) 26 + "#version 100\n" 27 + "precision mediump float;\n" 28 + "varying vec4 v_Color;\n" 29 + "#define o_FragColor gl_FragColor\n" 30 + #else 31 "#version 140\n" 32 "in vec4 v_Color;\n" 33 "out vec4 o_FragColor;\n" 34 + #endif 35 "void main() {" 36 " o_FragColor = v_Color;\n" 37 "}";