/* orxonox - the future of 3D-vertical-scrollers Copyright (C) 2004 orx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. ### File Specific: main-programmer: Benjamin Grauer co-programmer: ... this file extends the framework file, so it renders what i want. */ #include "framework.h" #include "light.h" #include "texture_sequence.h" #include "material.h" #include "objModel.h" #include "primitive_model.h" #include #include "resource_manager.h" Model* obj; TextureSequence* seq; Texture* test; Material* testMat; float counter = 0; void Framework::moduleInit(int argc, char** argv) { ResourceManager::getInstance()->addImageDir("./"); testMat = new Material; seq = new TextureSequence(); for (int i = 1; i < argc; i++) { seq->addFrame(argv[i]); printf("%s\n", argv[i]); } test = new Texture(argv[1]); testMat->setDiffuseMap(argv[1]); ResourceManager::getInstance()->addImageDir(""); obj = new PrimitiveModel(PRIM_PLANE, 10.0); ResourceManager::getInstance()->debug(); LightManager* lightMan = LightManager::getInstance(); lightMan->setAmbientColor(.1,.1,.1); (new Light())->setAbsCoor(5.0, 10.0, 40.0); (new Light())->setAbsCoor(-10, -20, -100); } void Framework::moduleEventHandler(SDL_Event* event) { switch (event->type) { case SDL_KEYDOWN: switch (event->key.keysym.sym) { case SDLK_1: obj = new PrimitiveModel(PRIM_CUBE, 10.0); break; case SDLK_2: obj = new PrimitiveModel(PRIM_SPHERE, 10.0); break; case SDLK_3: obj = new PrimitiveModel(PRIM_PLANE, 10.0); break; } } } void Framework::moduleTick(float dt) { counter+=dt; seq->gotoFrame((unsigned int)counter); if ((unsigned int)counter > seq->getFrameCount()) counter = 0; } void Framework::moduleDraw(void) const { testMat->select(); glBindTexture(GL_TEXTURE_2D, seq->getTexture()); obj->draw(); LightManager::getInstance()->draw(); } void Framework::moduleHelp(void) const { }