1 ! Copyright (C) 2008 Jeff Bigot
2 ! See http://factorcode.org/license.txt for BSD license.
23 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
25 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
27 TUPLE: window3D < gadget observer ;
29 : <window3D> ( model observer -- gadget )
32 projection-mode>> add-connection
34 collision-mode>> add-connection
40 M: window3D pref-dim* ( gadget -- dim ) drop { 300 300 } ;
42 M: window3D draw-gadget* ( gadget -- )
44 GL_PROJECTION glMatrixMode
46 0.6 0.6 0.6 .9 glClearColor
47 dup observer>> projection-mode>> value>> 1 =
48 [ 60.0 1.0 0.1 3000.0 gluPerspective ]
49 [ -400.0 400.0 -400.0 400.0 0.0 4000.0 glOrtho ] if
50 dup observer>> collision-mode>> value>>
51 \ remove-hidden-solids?
53 dup observer>> do-look-at
54 GL_MODELVIEW glMatrixMode
56 0.9 0.9 0.9 1.0 glClearColor
58 GL_LINE_SMOOTH glEnable
60 GL_DEPTH_TEST glEnable
62 GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA glBlendFunc
63 GL_LINE_SMOOTH_HINT GL_NICEST glHint
65 GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT bitor
70 GL_COLOR_MATERIAL glEnable
71 GL_FRONT GL_AMBIENT_AND_DIFFUSE glColorMaterial
72 ! *************************
77 ! *************************
80 M: window3D graft* drop ;
82 M: window3D model-changed nip relayout ;