void video_proc(int msg, int word1, int word2, void *ptr) { switch(msg) { case VMSG_DISP_BUFFER: if(disp_tex) { glBindTexture(GL_TEXTURE_2D, 0); glDeleteTextures(1, &disp_tex); } if(ptr) { glGenTextures(1, &disp_tex); glBindTexture(GL_TEXTURE_2D, disp_tex); disp_tw = word1; disp_th = word2; disp_data = ptr; glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, disp_tw, disp_th, 0, GL_RGBA, GL_UNSIGNED_BYTE, ptr); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); } break; case VMSG_DISP_RES: disp_dw = word1; disp_dh = word2; update_quad(); break; case VMSG_WINDOW_UPDATE: wnd_width = word1; wnd_height = word2; wnd_changed = 1; update_quad(); break; } }
//protected void GameofLife::update_this_element(stk::mesh::Entity elem) { if (stk::topology::QUAD_4 == m_elemType) update_quad(elem); else if (stk::topology::HEX_8 == m_elemType) update_hex(elem); else if (stk::topology::TRIANGLE_3 == m_elemType) update_tri(elem); else ThrowRequire(true); }