Beispiel #1
0
	void start(){
		//resource
		String rspath = Application::instance()->appResourcesDirectory();
		//init renders
		Vec4 viewport(0, 0, 1280, 720);
		getRender().setViewportState(viewport);
        getRender().setClearColorState({64,64,64,255});
		getRender().setZBufferState(true);
		getRender().setBlendState(BlendState(BLEND::ONE, BLEND::ZERO));
		getRender().setCullFaceState(CullFace::DISABLE);
		//materials
		matTrackball.init();
		matPoints.init();
		matGeometry.init();
		matGeometry.setColor({1.0,1.0,1.0,1.0});
		//init trackball
		trackball.init(&matTrackball);
        //init track area
        //left
        trackAreaLeft.init(&matGeometry, &matPoints);
        trackAreaLeft.setTrackball(trackball);
        //right
        trackAreaRight.init(&matGeometry, &matPoints);
        trackAreaRight.setTrackball(trackball);
        //init ui
        ui.setSizeLeft(UI_SIZE);
        ui.setCallBackLoad([this](const String& path)
                           {
                               loadModel(path);
                           });
        ui.setCallBackSave([this](const String& path)
                           {
                               saveModels(path);
                           });
        ui.setCallBackSVD([this]()
                         {
                             mergeMesh();
                         });
		#if 0
		Mesh m1;
		m1.addMeshOFF(modelRight, {
			1, 0, 0, 0,
			0, 0.5, 0, 0,
			0, 0, 1, 0,
			0, 0, 0, 1
		});
		m1.saveOFF(rspath + "/meshs/faccia045.off");
		#endif
		
	}