Пример #1
0
}

void Chapter21App::DestroyShaders()
{
    GLenum ErrorCheckValue = glGetError();

    glUseProgram(0);

    glDetachShader(ProgramId, VertexShaderId);
    glDetachShader(ProgramId, FragmentShaderId);

    glDeleteShader(FragmentShaderId);
    glDeleteShader(VertexShaderId);

    glDeleteProgram(ProgramId);

    ErrorCheckValue = glGetError();
    if (ErrorCheckValue != GL_NO_ERROR)
    {
        fprintf(
            stderr,
            "ERROR: Could not destroy the shaders: %s \n",
            gluErrorString(ErrorCheckValue)
        );

        exit(-1);
    }
}

CINDER_APP( Chapter21App,RendererGl( RendererGl::Options().msaa( 16 ) ), &Chapter21App::prepareSettings );
    gl::color(1.0f,1.0f,1.0f);
    gl::draw(background_tex,getWindowBounds());
    for(int i=0;i<recipeViews.size();i++){
        recipeViews.at(i).draw();
    }
    if(model.useFrontPlate)    gl::draw(foreground_tex,getWindowBounds());
    
    if(controller.getDebugState()!=0){
        
        char buffer [50];
        int n;
        n=sprintf (buffer, "%i, %i, %i", pConnector.getVal(148920, 0),pConnector.getVal(148920,2),pConnector.getVal(148920, 2));
        
        if(controller.getDebugState()!=0){
            cTarget->update(buffer);
            cTarget->update(getMousePos());
            cTarget->draw();
        }
        if(model.useSensors) pg.draw(Rectf(getWindowWidth()/3.0f,getWindowHeight()/3.0f,getWindowWidth()*2.0f/3.0f,getWindowHeight()*2.0f/3.0f));
        
        mParams.show();
             params::InterfaceGl::draw();
    } else {
        mParams.hide();
    }
    

}

CINDER_APP_BASIC( VideoTable, RendererGl(0) );
				int y2 = Rand::randInt(y1 + 150, mImage->getHeight());
				mSrcArea = Area(x1, y1, x2, y2);
			}
			break;
		case KeyEvent::KEY_SPACE:
			// toggle drawing mode
			mUseBeginEnd = !mUseBeginEnd;
			updateWindowTitle();
			break;
		}
	}
}

void ReymentaServerApp::keyUp(KeyEvent event)
{
	// pass this key event to the warp editor first
	if (!Warp::handleKeyUp(mWarps, event)) {
		// let your application perform its keyUp handling here
	}
}

void ReymentaServerApp::updateWindowTitle()
{
	if (mUseBeginEnd)
		getWindow()->setTitle("Warping Sample - Using begin() and end()");
	else
		getWindow()->setTitle("Warping Sample - Using draw()");
}

CINDER_APP(ReymentaServerApp, RendererGl(RendererGl::Options().msaa(8)), &ReymentaServerApp::prepare)