CCCPaste

db6b0a318a005

#cmdline "-gen gcc -Wc '-O3 -msse2 -msimd128' -Wl '-s LEGACY_GL_EMULATION=1'"

'-s FULL_ES2=1

#include "GL/gl.bi"
#include "fbgfx.bi"

' 1. Initialize OpenGL via fbgfx
' 800x600, 32-bit color, 1 page, GFX_OPENGL flag
ScreenRes 800, 600, 8, 1, fb.GFX_OPENGL

' Set up a basic viewport/ortho
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
glOrtho(0, 800, 600, 0, -1, 1)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
glClearColor(0,0,0,1)

Do
' 2. Standard GL Rendering
glClear(GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT)

glBegin(GL_TRIANGLES)
glColor3f(1.0, 0.0, 0.0) : glVertex2f(400, 150)
glColor3f(0.0, 1.0, 0.0) : glVertex2f(600, 450)
glColor3f(0.0, 0.0, 1.0) : glVertex2f(200, 450)
glEnd()

' 3. The "Magic" for Asyncify
' Flip handles the buffer swap for GFX_OPENGL
Flip

' Sleep 1, 1 yields control back to the browser via Asyncify
' This prevents the "Script is taking too long" error
Sleep 1, 1

Loop Until MultiKey(fb.SC_ESCAPE)