OpenGL rendering tweaks

db4
Slava Pestov 2008-11-17 05:16:34 -06:00
parent e6fbd4f84f
commit 3f85a4e727
4 changed files with 8 additions and 9 deletions

View File

@ -31,7 +31,7 @@ IN: opengl
over glEnableClientState dip glDisableClientState ; inline over glEnableClientState dip glDisableClientState ; inline
: words>values ( word/value-seq -- value-seq ) : words>values ( word/value-seq -- value-seq )
[ dup word? [ execute ] [ ] if ] map ; [ dup word? [ execute ] when ] map ;
: (all-enabled) ( seq quot -- ) : (all-enabled) ( seq quot -- )
over [ glEnable ] each dip [ glDisable ] each ; inline over [ glEnable ] each dip [ glDisable ] each ; inline
@ -71,10 +71,10 @@ MACRO: all-enabled-client-state ( seq quot -- )
: (rect-vertices) ( dim -- vertices ) : (rect-vertices) ( dim -- vertices )
{ {
[ drop 0 1 ] [ drop 0.5 0.5 ]
[ first 1- 1 ] [ first 0.5 ]
[ [ first 1- ] [ second ] bi ] [ [ first ] [ second ] bi ]
[ second 0 swap ] [ second 0.5 swap ]
} cleave 8 narray >c-float-array ; } cleave 8 narray >c-float-array ;
: rect-vertices ( dim -- ) : rect-vertices ( dim -- )

View File

@ -196,7 +196,6 @@ M: freetype-renderer string-height ( open-font string -- h )
:: (draw-string) ( open-font sprites string loc -- ) :: (draw-string) ( open-font sprites string loc -- )
GL_TEXTURE_2D [ GL_TEXTURE_2D [
loc [ loc [
-0.5 0.5 0.0 glTranslated
string open-font string char-widths scan-sums [ string open-font string char-widths scan-sums [
[ open-font sprites ] 2dip draw-char [ open-font sprites ] 2dip draw-char
] 2each ] 2each

View File

@ -112,7 +112,7 @@ M: editor ungraft*
line-height * ; line-height * ;
: caret-loc ( editor -- loc ) : caret-loc ( editor -- loc )
[ editor-caret* ] keep 2dup loc>x [ editor-caret* ] keep 2dup loc>x 1+
rot first rot line>y 2array ; rot first rot line>y 2array ;
: caret-dim ( editor -- dim ) : caret-dim ( editor -- dim )
@ -120,7 +120,7 @@ M: editor ungraft*
: scroll>caret ( editor -- ) : scroll>caret ( editor -- )
dup graft-state>> second [ dup graft-state>> second [
dup caret-loc over caret-dim { 1 0 } v+ <rect> dup caret-loc over caret-dim <rect>
over scroll>rect over scroll>rect
] when drop ; ] when drop ;

View File

@ -23,7 +23,7 @@ SYMBOL: viewport-translation
[ rect-intersect ] keep [ rect-intersect ] keep
dim>> dup { 0 1 } v* viewport-translation set dim>> dup { 0 1 } v* viewport-translation set
{ 0 0 } over gl-viewport { 0 0 } over gl-viewport
-0.5 swap first2 [ 0.5 - ] [ 0.5 + ] bi* 0.5 gluOrtho2D 0 swap first2 0 gluOrtho2D
clip set clip set
do-clip ; do-clip ;