/* Initializes graphics subsystem */ int gInit(GContext *context) { glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); //glEnable(GL_TEXTURE_2D); glPixelStorei(GL_UNPACK_ALIGNMENT, 1); glClearColor(0,0,0,0); glClear(GL_COLOR_BUFFER_BIT); loadShaders(&(context->shaders)); loadPrograms(&(context->programs),&(context->shaders)); loadBuffers(&(context->buffers)); setModelview(context,1,0,0,1); setTranslation(context,0,0); //printInfo("initGraphics()\n"); #ifdef DEBUG checkError(); #endif if(context->callback != NULL) context->callback(context->callback_data); return 0; }
void Lpanel::resizeWindow(void) { XWindowAttributes windowattr; XGetWindowAttributes(dpy, window, &windowattr); window_xsize = windowattr.width; window_ysize = windowattr.height; view.aspect = (double) window_xsize / (double) window_ysize; glViewport(0, 0, windowattr.width, windowattr.height); glGetIntegerv (GL_VIEWPORT, viewport); setProjection(0); setModelview(0); }
void model::render() { // default material setup glBindTexture(GL_TEXTURE_2D, 0); glPushMatrix(); setModelview(); glBegin(GL_TRIANGLES); std::list<materialAssoc>::const_iterator materialIdx = _renderMap.begin(); idx3d k = 0; for (std::list<mesh>::const_iterator i = _mesh.begin(); i != _mesh.end();) { if (materialIdx != _renderMap.end()) { if (k == (*materialIdx).startIndex) { (*materialIdx).material->setup(); materialIdx++; } } //glBegin(GL_LINE_STRIP); for (unsigned char j = 0; j < 3 && i != _mesh.end(); j++) { //glColor3dv(color[j]); glVertex3dv(&i->vertex.x); //glNormal3dv(&i->normal.x); glTexCoord2dv(&i->texture.x); i++; } //glEnd(); k++; } glEnd(); glPopMatrix(); }
void Lpanel::doPickModelview(void) { setModelview(1); //glTranslatef(0.,0.,-10.); // so objects at z=0 don't get clipped }
void gTransform(GContext *context, const float matrix[4]) { setModelview(context, matrix[0],matrix[1],matrix[2],matrix[3]); }