Exemplo n.º 1
0
    static sk_sp<GrContext> create_grcontext() {
        // We just leak the OSMesaContext... the process will die soon anyway.
        if (OSMesaContext osMesaContext = OSMesaCreateContextExt(OSMESA_BGRA, 0, 0, 0, nullptr)) {
            static uint32_t buffer[16 * 16];
            OSMesaMakeCurrent(osMesaContext, &buffer, GL_UNSIGNED_BYTE, 16, 16);
        }

        auto osmesa_get = [](void* ctx, const char name[]) {
            SkASSERT(nullptr == ctx);
            SkASSERT(OSMesaGetCurrentContext());
            return OSMesaGetProcAddress(name);
        };
        sk_sp<const GrGLInterface> mesa(GrGLAssembleInterface(nullptr, osmesa_get));
        if (!mesa) {
            return nullptr;
        }
        return sk_sp<GrContext>(GrContext::Create(
                                        kOpenGL_GrBackend,
                                        reinterpret_cast<intptr_t>(mesa.get())));
    }
Exemplo n.º 2
0
int main(int argc, char **argv) {
    
    // inicializaçao
	dragging = false;
	dragx = 0; dragy = 0;
	camx = 1;
	camy = 5;
	
	glutInit(&argc, argv);
	ilInit();
	
	glutInitDisplayMode(GLUT_DEPTH|GLUT_DOUBLE|GLUT_RGBA);
	glutInitWindowPosition(0,100);
	glutInitWindowSize(1280,800);
	glutCreateWindow("Rock Bar UM");
    
    // registo de funçoes
	glutDisplayFunc(renderScene);
	glutIdleFunc(renderScene);
	glutReshapeFunc(changeSize);
    
    // por aqui registo da funções do teclado e rato
    glutIgnoreKeyRepeat(1);
	glutKeyboardFunc(processNormalKeys);
	glutSpecialFunc(pressKeySpecial);
	glutSpecialUpFunc(releaseKeySpecial);
	glutKeyboardUpFunc(releaseKeyNormal);
    
    // por aqui a criaçao do menu    
    
	
    glewInit();
	glEnable(GL_DEPTH_TEST);
	glEnable(GL_CULL_FACE);
    glEnable(GL_TEXTURE_2D);
    glEnableClientState(GL_VERTEX_ARRAY);
	glEnableClientState(GL_NORMAL_ARRAY);
	glEnableClientState(GL_TEXTURE_COORD_ARRAY);
    
	//Texturas
	genTextureMadeira();
    genTextureMadeira2();
	genTextureMesa();
	genTextureMetal();
	genTextureVidro();
    genTextureChao();
    genTextureParede();
    genTextureTeto();
    genPoster1();
    genPoster2();
    genPoster3();
    genPoster4();
    genPoster5();
    genPoster6();
    genTextureBook();
    genPoster7();
    genSink();
    
    //Objectos
    mesa();
	cadeira();
	candeeirodemesa();
	candeeirodetecto();
	candeeirodeparede();
	mesalta();
	cadeiralta();
	cup();
	copoalto();
    chao();
    paredes();
    palco();
    balcao();
    armario();
    posters();
    bookshelf();
    
    
    // entrar no ciclo do GLUT
	glutMainLoop();
	
	return 1;
}