Example #1
0
/**
 * @brief Hauptprogramm
 */
int main(int argc, char* argv[])
{
	char *end;
	int z;
	sem_init();
	if(argc > 1)
	{
		if(!strcmp("-l", argv[1]))
		{
			if(argc == 3)
				liste(argv[2]);
			else if(argc == 2)
				liste(NULL);
			else
				rtfm(argv);
		}
		else if(!strcmp("-n", argv[1]))
		{
			if(argc == 4)
				neu(argv[2], argv[3]);
			else
				rtfm(argv);
		}
		else if(!strcmp("-z", argv[1]))
		{
			if(argc == 4)
			{
				z = strtoul(argv[3], &end, 0);
				if(argv[3] == end)
				{
					fprintf(stderr, "%s: Keine Zahl: %s\n", argv[0], argv[3]);
					exit(1);
				}
				zuschlag(argv[2], z);
			}
			else
				rtfm(argv);
		}
		else if(!strcmp("-d", argv[1]))
		{
			if(argc == 3)
				rechnung(argv[2]);
			else
				rtfm(argv);
		}
		else
			rtfm(argv);
	}
	else
	{
		rtfm(argv);
	}
	exit(0);
}
Example #2
0
void NGLScene::initializeGL()
{
    ngl::NGLInit::instance();
    glClearColor(0.4f, 0.4f, 0.4f, 1.0f);
    glEnable(GL_DEPTH_TEST);
    glEnable(GL_MULTISAMPLE);

    ngl::ShaderLib *shader=ngl::ShaderLib::instance();
    shader->createShaderProgram("Phong");
    shader->attachShader("PhongVertex",ngl::ShaderType::VERTEX);
    shader->attachShader("PhongFragment",ngl::ShaderType::FRAGMENT);
    shader->loadShaderSource("PhongVertex","shaders/PhongVertex.glsl");
    shader->loadShaderSource("PhongFragment","shaders/PhongFragment.glsl");
    shader->compileShader("PhongVertex");
    shader->compileShader("PhongFragment");
    shader->attachShaderToProgram("Phong","PhongVertex");
    shader->attachShaderToProgram("Phong","PhongFragment");
    shader->bindAttribute("Phong",0,"inVert");
    shader->bindAttribute("Phong",1,"inUV");
    shader->bindAttribute("Phong",2,"inNormal");

    shader->linkProgramObject("Phong");
    (*shader)["Phong"]->use();

    ngl::Material m(ngl::STDMAT::GOLD);
    m.loadToShader("material");

    ngl::Vec3 from(0,0,-10);
    ngl::Vec3 to(0,0,0);
    ngl::Vec3 up(0,1,0);
    m_cam.set(from,to,up);
    m_cam.setShape(45.0f,(float)720.0/576.0f,0.05f,350.0f);
    shader->setUniform("viewerPos",m_cam.getEye().toVec3());

    ngl::Mat4 iv=m_cam.getViewMatrix();
    iv.transpose();
    ngl::Light light(ngl::Vec3(0,5,-10),ngl::Colour(1,1,1,1),ngl::Colour(1,1,1,1),ngl::LightModes::POINTLIGHT );
    light.setTransform(iv);
    light.loadToShader("light");


    m_track.initialize();
    rtfm();
}