コード例 #1
0
ファイル: glsl.cpp プロジェクト: brunodea/cgat2
//Pozzer
//----------------------------------------------
Glsl::Glsl(char *vert, char *frag)
{
   isActive  = false;

   if (showInfo == false)
   {
	  showInfo = true;
	  printf("\nYou are using OpenGL %s\n\n", glGetString(GL_VERSION));
   }
        
   setShaders(vert, frag);

   //printShaderInfoLog(v);
   //printShaderInfoLog(f);
   printProgramInfoLog(p);

   //http://www.delorie.com/gnu/docs/gcc/cpp_21.html
   //http://www.thescripts.com/forum/thread212429.html
   //http://www.codeguru.com/forum/showthread.php?t=231043
   //printf("\n%s  %d  %s  %s \n", __FILE__, __LINE__, __FUNCTION__, __TIMESTAMP__);

   printOglError(__FILE__, __LINE__); 
}
コード例 #2
0
ファイル: soliduitest.cpp プロジェクト: tl3shi/kcbp_cgal_cuda
void  display(void)
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);

    printOpenGLError();

    glMatrixMode(GL_MODELVIEW);
    glPushMatrix();
    glLoadIdentity();
    
    gluLookAt(m_camera.position.x, m_camera.position.y, m_camera.position.z,
        m_camera.lookat.x, m_camera.lookat.y, m_camera.lookat.z,
        m_camera.up.x, m_camera.up.y, m_camera.up.z);
    printOglError(0,0);
    
    if(true)
    {
        gl2psEnable(GL2PS_LINE_STIPPLE);

        if(!noxyz) 
            UIHelper::drawXYZ();
        
        glPolygonMode(GL_FRONT_AND_BACK, polygon_mode);
        glColor3f(0.1, 0.8, 0);
        
        UIHelper::drawBoundingBox(boxobj2);

        
        {
            mat4 rotateMatrix = rotateDeg == 0 ? mat4::Identity : mat4::GetRotate(rotateDeg, rotateAxis);
            mat4 translateMatrix = mat4::GetTranslate(translatePos);
            mat4 transformMatrix = translateMatrix * rotateMatrix;
            {
                mat4 indentity = mat4::Identity;
             
                //double tx = 1.51, ty = 0, tz = 0;
                double tx = translatePos.x, ty = translatePos.y, tz = translatePos.z;
                double m [16] = {
                    1.0, 0, 0, 0,
                    0.0, 1.0, 0, 0,
                    0.0, 0, 1.0, 0,
                    tx, ty, tz, 1.0
                };
                {
                    dtSelectObject(&object1);
                    dtLoadMatrixd(m);
                    //dtLoadIdentity();
                    //dtTranslate(tx, ty, tz);
                    if(dtTestPair(&object1, &object2)) 
                    //if(dtTest() > 0)
                        glColor3f(1.0, 0, 0);
                    else
                        glColor3f(0.1, 0.8, 0);
                }
            }
        }
        
        if(rotateDeg != 0)
            glRotatef(rotateDeg, rotateAxis.x, rotateAxis.y, rotateAxis.z);
        glTranslatef(translatePos.x, translatePos.y, translatePos.z);
        UIHelper::drawBoundingBox(boxobj1);
        gl2psDisable(GL2PS_LINE_STIPPLE);
     
    }else
    {
        glColor3f(1, 0, 1);
        glPolygonMode(GL_FRONT_AND_BACK ,GL_LINE);
        glLineWidth(1.0); 
        GLUquadricObj *qobj = gluNewQuadric();
        gluSphere(qobj,3,16,16);
        glLineWidth(2.0);        
        UIHelper::drawNormals(normals, 3);
        glPointSize(5.0f);
        UIHelper::drawPoints(normals);
    }

    glPopMatrix();
    glFlush();

    if( finish_without_update )
        glFinish();
    else
        glutSwapBuffers();
}