2
0

PolycodeTemplateApp.cpp 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. //
  2. // Polycode template. Write your code here.
  3. //
  4. #include "PolycodeTemplateApp.h"
  5. PolycodeTemplateApp::PolycodeTemplateApp(PolycodeView *view) {
  6. core = new POLYCODE_CORE(view, 1280 / 2, 720 / 2, false, false, 0, 0, 60, 0, true);
  7. core->addFileSource("archive", "default.pak");
  8. ResourcePool *globalPool = Services()->getResourceManager()->getGlobalPool();
  9. globalPool->loadResourcesFromFolder("default", true);
  10. core->addFileSource("archive", "hdr.pak");
  11. globalPool->loadResourcesFromFolder("hdr", true);
  12. // Write your code here!
  13. Scene *scene = new Scene(Scene::SCENE_2D);
  14. scene->useClearColor = true;
  15. scene->clearColor.setColor(0.2, 0.2, 0.2, 1.0);
  16. // scene->setOverrideMaterial((Material*)globalPool->getResource(Resource::RESOURCE_MATERIAL, "Unlit"));
  17. for (int i = 0; i < 300; i++) {
  18. test = new ScenePrimitive(ScenePrimitive::TYPE_VPLANE, 0.5, 0.5);
  19. test->setMaterialByName("Unlit");
  20. test->getShaderPass(0).shaderBinding->loadTextureForParam("diffuse", "main_icon.png");
  21. test->setPosition(RANDOM_NUMBER * 0.5, RANDOM_NUMBER * 0.4);
  22. test->setBlendingMode(Renderer::BLEND_MODE_NONE);
  23. test->setScale(0.3, 0.3);
  24. scene->addChild(test);
  25. tests.push_back(test);
  26. }
  27. Camera *camera = scene->getDefaultCamera();
  28. fpsLabel = new SceneLabel("YO MOMMA!", 64, "main", Label::ANTIALIAS_FULL, 0.1);
  29. scene->addChild(fpsLabel);
  30. //fpsLabel->setPositionX(-0.3);
  31. scene->getDefaultCamera()->setPostFilterByName("HDRProcessBloom");
  32. camera->getShaderPass(0).shaderBinding->addParam(ProgramParam::PARAM_NUMBER, "brightThreshold")->setNumber(0.4);
  33. camera->getShaderPass(1).shaderBinding->addParam(ProgramParam::PARAM_NUMBER, "blurSize")->setNumber(0.003);
  34. camera->getShaderPass(2).shaderBinding->addParam(ProgramParam::PARAM_NUMBER, "blurSize")->setNumber(0.003);
  35. camera->getShaderPass(3).shaderBinding->addParam(ProgramParam::PARAM_NUMBER, "bloomFactor")->setNumber(1.5);
  36. camera->getShaderPass(3).shaderBinding->addParam(ProgramParam::PARAM_NUMBER, "exposure")->setNumber(0.7);
  37. //scene->getDefaultCamera()->setPostFilterByName("Blur");
  38. //camera->getShaderPass(0).shaderBinding->addParam(ProgramParam::PARAM_NUMBER, "blurSize")->setNumber(0.003);
  39. //camera->getShaderPass(1).shaderBinding->addParam(ProgramParam::PARAM_NUMBER, "blurSize")->setNumber(0.003);
  40. // Sound *music = new Sound("BUGSHUFFLE.ogg");
  41. // music->Play();
  42. Services()->getInput()->addEventListener(this, InputEvent::EVENT_KEYDOWN);
  43. }
  44. void PolycodeTemplateApp::handleEvent(Event *event) {
  45. InputEvent *inputEvent = (InputEvent*)event;
  46. }
  47. PolycodeTemplateApp::~PolycodeTemplateApp() {
  48. }
  49. bool PolycodeTemplateApp::Update() {
  50. Number elapsed = core->getElapsed();
  51. for (int i = 0; i < tests.size(); i++) {
  52. tests[i]->Roll(elapsed * 45.0);
  53. }
  54. if (Services()->getRenderer()->getRenderThread()->getFrameInfo().timeTaken > 0) {
  55. //fpsLabel->setText("FPS:" + String::IntToString(1000 / Services()->getRenderer()->getRenderThread()->getFrameInfo().timeTaken));
  56. }
  57. return core->updateAndRender();
  58. }