worl.c

来自「细胞自动机的一个源代码」· C语言 代码 · 共 122 行

C
122
字号
#include "main.h"int cubelist;/* display inits */void worldinit(void) {  int i, j;  printf("worl init...");  worl.trx = makedyntrixd(4, 4);  for (i=0; i<4; i++) {    for (j=0; j<4; j++) {      worl.trx->d[i][j] = ((i==j)?1.0:0.0);    }  }  worl.com.x = 0.0;  worl.com.y = 0.0;  worl.wang = 0.0;  worl.zang = 0.0;  worl.zoom = -6.0;  worl.curzang = 0.0;  worl.stazang = 0.0;  worl.nexzang = 0.0;  worl.curwang = 0.0;  worl.stawang = 0.0;  worl.nexwang = 0.0;  worl.act=0;  worl.width = WL_W;  worl.height = WL_H;  worl.curball = -1;  printf("done\n");}void disp_init(world_t *w, ca_t *ca) {  int i, j, k;  w->com.x = (float)(((float)ca->d[0])/2.0);  w->com.y = (float)(((float)ca->d[1])/2.0);}/*void glinit(void) { */void glinit(int mode, world_t *w, float *v) {  printf("glinit....\n");  switch (mode) {  case 0:    printf("default display mode\n");    glEnable(GL_DEPTH_TEST);    glMatrixMode(GL_PROJECTION);    glLoadIdentity();    glFrustum(-1.0, 1.0, -1.0, 1.0, 1.0, 100.0);    w->v[0] = -1.0;    w->v[1] = 1.0;    w->v[2] = -1.0;    w->v[3] = 1.0;    w->v[4] = 1.0;    w->v[5] = 100.0;    configfunc(w->width, w->height);    glMatrixMode(GL_MODELVIEW);    break;  case 1:    printf("user defined projection\n");    glEnable(GL_DEPTH_TEST);    glMatrixMode(GL_PROJECTION);    glLoadIdentity();    glFrustum((double)v[0], (double)v[1], (double)v[2],	      (double)v[3], (double)v[4], (double)v[5]);    configfunc(w->width, w->height);    memcpy(w->v, v, sizeof(float)*6);    glMatrixMode(GL_MODELVIEW);    break;  case 2:    printf("user defined ortho\n");    glEnable(GL_DEPTH_TEST);    glMatrixMode(GL_PROJECTION);    glLoadIdentity();    glOrtho((double)v[0], (double)v[1], (double)v[2],	    (double)v[3], (double)v[4], (double)v[5]);    configfunc(w->width, w->height);    memcpy(w->v, v, sizeof(float)*6);    glMatrixMode(GL_MODELVIEW);    break;  default:    printf("unkown mode, exiting\n");    exit(0);    break;  }  //initlightmodel();  //initlists();  wlpostredisplay();  printf("...glinit done\n");}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?