{ HEX: 0503 "Stack overflow" }
{ HEX: 0504 "Stack underflow" }
{ HEX: 0505 "Out of memory" }
+ { HEX: 0506 "Invalid framebuffer operation" }
} at "Unknown error" or ;
TUPLE: gl-error code string ;
GL_PROJECTION glMatrixMode
glLoadIdentity
GL_MODELVIEW glMatrixMode
- glLoadIdentity ;
\ No newline at end of file
+ glLoadIdentity ;
! Programs
+: <mrt-gl-program> ( shaders frag-data-locations -- program )
+ glCreateProgram
+ [
+ [ swap [ glAttachShader ] with each ]
+ [ swap [ first2 swap glBindFragDataLocationEXT ] with each ] bi-curry bi*
+ ]
+ [ glLinkProgram ]
+ [ ] tri
+ gl-error ;
+
: <gl-program> ( shaders -- program )
- glCreateProgram swap
- [ dupd glAttachShader ] each
- [ glLinkProgram ] keep
+ glCreateProgram
+ [ swap [ glAttachShader ] with each ]
+ [ glLinkProgram ]
+ [ ] tri
gl-error ;
: (gl-program?) ( object -- ? )