[BACK]Return to cfep-opengl.rr CVS log [TXT][DIR] Up to [local] / OpenXM / src / cfep / tests

Annotation of OpenXM/src/cfep/tests/cfep-opengl.rr, Revision 1.1

1.1     ! takayama    1: extern GL_COLOR_BUFFER_BIT$
        !             2: extern GL_DEPTH_BUFFER_BIT$
        !             3: extern GL_LINES $
        !             4: extern GL_LINE_STIPPLE $
        !             5: extern GL_LINE_STIPPLE_PATTERN$
        !             6: extern GL_LINE_STIPPLE_REPEAT $
        !             7: extern GL_LINE_WIDTH $
        !             8: extern GL_LINE  $
        !             9: extern GL_POINTS $
        !            10: extern GL_POINT_SIZE $
        !            11: extern GL_POLYGON $
        !            12: extern GL_TRIANGLES $
        !            13:
        !            14: GL_COLOR_BUFFER_BIT= 0x00004000$
        !            15: GL_DEPTH_BUFFER_BIT= 0x00000100$
        !            16: GL_LINES                             = 0x0001$
        !            17: GL_LINE_STIPPLE             = 0x0B24$
        !            18: GL_LINE_STIPPLE_PATTERN= 0x0B25$
        !            19: GL_LINE_STIPPLE_REPEAT  =  0x0B26$
        !            20: GL_LINE_WIDTH                       =   0x0B21$
        !            21: GL_LINE                                      = 0x1B01$
        !            22: GL_POINTS                                = 0x0000$
        !            23: GL_POINT_SIZE                        = 0x0B11$
        !            24: GL_POLYGON                           = 0x0009 $
        !            25: GL_TRIANGLES=3$
        !            26:
        !            27:
        !            28:
        !            29: module opengl;
        !            30: localf initStatic$
        !            31:
        !            32: localf setCanvas$
        !            33: localf init$
        !            34: localf redraw$
        !            35: localf metaRemoveAll$
        !            36: localf metaShowListOfOpenGLCommands$
        !            37:
        !            38: localf glBegin$
        !            39: localf glClear$
        !            40: localf glClearColor$
        !            41: localf glColor4f$
        !            42: localf glEnable$
        !            43: localf glEnd$
        !            44: localf glFlush$
        !            45: localf glLineStipple$
        !            46: localf glLineWidth $
        !            47: localf glNormal3f $
        !            48: localf glRectf$
        !            49: localf glVertex3f$
        !            50: localf glVertex2f$
        !            51:
        !            52: localf glib3DefaultScene$
        !            53:
        !            54: localf test2$
        !            55:
        !            56: static Canvas$
        !            57: static Channel$
        !            58: def initStatic() {
        !            59:   ctrl("double_output",1);
        !            60:   Canvas="0;";
        !            61:   Channel=0;
        !            62: }
        !            63: initStatic()$
        !            64:
        !            65: def setCanvas(N) {
        !            66:   if ((N>=0) && (type(N) <= 1)) Canvas=rtostr(N)+";";
        !            67: }
        !            68: def init() {
        !            69:   Channel = 0;
        !            70: }
        !            71: def redraw() {
        !            72:   opengl.glFlush();
        !            73:   Channel=1;
        !            74: }
        !            75: def metaShowListOfOpenGLCommands() {
        !            76:   cfep.glib_send2(Channel,Canvas+"meta_showListOfOglComm");
        !            77: }
        !            78: def metaRemoveAll() {
        !            79:   cfep.glib_send2(Channel,Canvas+"meta_removeAllInit");
        !            80:   cfep.glib_send2(Channel,Canvas+"meta_removeAll");
        !            81: }
        !            82:
        !            83: /*
        !            84:     opengl.glib3DefaultScene("mesa demo/ray");
        !            85:     opengl.glib3DefaultScene("cfep demo/icosahedron");
        !            86:
        !            87:       opengl.metaRemoveAll();
        !            88:       opengl.init();
        !            89:       opengl.glib3DefaultScene(0);
        !            90:       opengl.redraw();
        !            91:       opengl.glColor4f(0.0,0.0,1.0,0.3);
        !            92:       opengl.glBegin(GL_POLYGON); Y=0.1;
        !            93:       opengl.glVertex3f(-1.0, Y, 0.5);
        !            94:       opengl.glVertex3f(-1.0, Y, -0.5);
        !            95:       opengl.glVertex3f(1.0, Y, -0.5);
        !            96:       opengl.glVertex3f(1.0, Y, 0.5);
        !            97:       opengl.glEnd();
        !            98:
        !            99:       opengl.glColor4f(1.0,0.0,0.0,0.5);
        !           100:       opengl.glBegin(GL_POLYGON);
        !           101:       opengl.glVertex3f(0.0, 0.5, 0.0);
        !           102:       opengl.glVertex3f(0.0, 0.5, -0.4);
        !           103:       opengl.glVertex3f(0.5, -0.2, -0.4);
        !           104:       opengl.glVertex3f(0.5, -0.2, 0.0);
        !           105:       opengl.glEnd();
        !           106:       opengl.glFlush() ;
        !           107:       opengl.metaShowListOfOpenGLCommands();
        !           108:
        !           109: */
        !           110: def glib3DefaultScene(Type) {
        !           111:   if (type(Type) == 7) {
        !           112:     if (Type=="mesa demo/ray") {
        !           113:         init();
        !           114:         cfep.glib_send2(Channel,Canvas+"[glib3_ray_init]");
        !           115:         redraw();
        !           116:         cfep.glib_send2(Channel,Canvas+"[glib3_ray]");
        !           117:         glFlush();
        !           118:         return;
        !           119:     }else if (Type =="cfep demo/icosahedron") {
        !           120:         init();
        !           121:         cfep.glib_send2(Channel,Canvas+"[glib3_std_scene0]");
        !           122:         redraw();
        !           123:         cfep.glib_send2(Channel,Canvas+"[glib3_icosahedron]");
        !           124:         glFlush();
        !           125:         return;
        !           126:     }else{ Type = 0; }
        !           127:   }
        !           128:   if (Type == 0) {
        !           129:     cfep.glib_send2(Channel,Canvas+"[glib3_std_scene0]");
        !           130:     return;
        !           131:   }
        !           132:    cfep.glib_send2(Channel,Canvas+"[glib3_std_scene0]");
        !           133: }
        !           134:
        !           135: def glBegin(M) {
        !           136:   cfep.glib_send2(Channel,Canvas+"[glBegin,(int)"+rtostr(eval(M))+"]");
        !           137: }
        !           138:
        !           139: def glClear(M) {
        !           140:   cfep.glib_send2(Channel,Canvas+"[glClear,(int)"+rtostr(eval(M))+"]");
        !           141: }
        !           142: def glClearColor(R,G,B,A) {
        !           143:   cfep.glib_send2(Channel,Canvas+"[glClearColor,"+
        !           144:     rtostr(deval(R))+","+
        !           145:     rtostr(deval(G))+","+
        !           146:     rtostr(deval(B))+","+
        !           147:     rtostr(deval(A))+"]");
        !           148: }
        !           149: def glColor4f(R,G,B,A) {
        !           150:   cfep.glib_send2(Channel,Canvas+"[glColor4f,"+
        !           151:     rtostr(deval(R))+","+
        !           152:     rtostr(deval(G))+","+
        !           153:     rtostr(deval(B))+","+
        !           154:     rtostr(deval(A))+"]");
        !           155: }  /*
        !           156:       opengl.metaRemoveAll();
        !           157:       opengl.init();
        !           158:       opengl.glClearColor(1.0,1.0,1.0,1.0);
        !           159:       opengl.glClear(GL_COLOR_BUFFER_BIT);
        !           160:       opengl.redraw();
        !           161:       opengl.glColor4f(1.0,0.0,0.0,0.3);
        !           162:       opengl.glRectf(-0.2,-0.2,0.2,0.2);
        !           163:       opengl.glFlush() ;
        !           164:       opengl.metaShowListOfOpenGLCommands();
        !           165: */
        !           166: def glEnable(M) {
        !           167:   cfep.glib_send2(Channel,Canvas+"[glEnable,(int)"+rtostr(eval(M))+"]");
        !           168: }
        !           169:
        !           170: def glEnd() {
        !           171:   cfep.glib_send2(Channel,Canvas+"[glEnd]");
        !           172: }
        !           173:
        !           174: def glFlush() {
        !           175:   cfep.glib_send2(Channel,Canvas+"[glFlush]");
        !           176: }
        !           177:
        !           178: def glLineStipple(R,P) {
        !           179:   cfep.glib_send2(Channel,Canvas+"[glLineStipple,(int)"+
        !           180:     rtostr(eval(R))+",(int)"+
        !           181:     rtostr(eval(P))+"]");
        !           182: }
        !           183:
        !           184: def glLineWidth(W) {
        !           185:   cfep.glib_send2(Channel,Canvas+"[glLineWidth,"+
        !           186:     rtostr(deval(W))+"]");
        !           187: }  /*
        !           188:       opengl.metaRemoveAll();
        !           189:       opengl.init();
        !           190:       opengl.redraw();
        !           191:       opengl.glColor4f(1.0,0.0,1.0,0.3);
        !           192:       opengl.glLineWidth(1.0);
        !           193:       opengl.glEnable(GL_LINE_STIPPLE);
        !           194:       opengl.glLineStipple(1,0xaaaa);
        !           195:       opengl.glBegin(GL_LINES);
        !           196:       opengl.glVertex2f(0.0, 0.0);
        !           197:       opengl.glVertex2f(1.0, 0.0);
        !           198:       opengl.glVertex2f(0.0, 1.0);
        !           199:       opengl.glVertex2f(-0.2, 0.5);
        !           200:       opengl.glEnd();
        !           201:       opengl.glFlush() ;
        !           202:       opengl.metaShowListOfOpenGLCommands();
        !           203: */
        !           204: def glNormal3f(X,Y,Z) {  /* left bottom, right top */
        !           205:   cfep.glib_send2(Channel,Canvas+"[glNormal3f,"+
        !           206:     rtostr(deval(X))+","+
        !           207:     rtostr(deval(Y))+","+
        !           208:     rtostr(deval(Z))+"]");
        !           209: }
        !           210:
        !           211:
        !           212: def glRectf(Xlb,Ylb,Xrt,Yrt) {  /* left bottom, right top */
        !           213:   cfep.glib_send2(Channel,Canvas+"[glRectf,"+
        !           214:     rtostr(deval(Xlb))+","+
        !           215:     rtostr(deval(Ylb))+","+
        !           216:     rtostr(deval(Xrt))+","+
        !           217:     rtostr(deval(Yrt))+"]");
        !           218: }
        !           219:
        !           220: def glVertex3f(X,Y,Z) {
        !           221:   cfep.glib_send2(Channel,Canvas+"[glVertex3f,"+
        !           222:     rtostr(deval(X))+","+
        !           223:     rtostr(deval(Y))+","+
        !           224:     rtostr(deval(Z))+"]");
        !           225: }
        !           226: def glVertex2f(X,Y) {
        !           227:   cfep.glib_send2(Channel,Canvas+"[glVertex2f,"+
        !           228:     rtostr(deval(X))+","+
        !           229:     rtostr(deval(Y))+"]");
        !           230: }
        !           231:
        !           232: def test2() {
        !           233:   cfep.glib_init_send("0;[glib3_ray_init]");
        !           234:   cfep.glib_init_send("0;[glib_flush]");
        !           235:   cfep.glib_send("0;[glib3_ray]");
        !           236:   cfep.glib_send("0;[glib_flush]");
        !           237: }
        !           238:
        !           239: endmodule;
        !           240: /* opengl.test2(); */
        !           241: /* 最終的には asir-contrib へ移動 */
        !           242: /* $OpenXM$ */
        !           243: end$

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>