From 47ca48585550572ed3602aecc9ef4c271c90a59b Mon Sep 17 00:00:00 2001 From: kts Date: Mon, 9 Feb 2015 21:32:27 -0800 Subject: [PATCH] Added RenderScene and RenderSet class skeletons. Also updated VS project. --- LOGIC | 2 +- build/vs/vs.vcxproj | 11 +++++++++++ build/vs/vs.vcxproj.filters | 32 ++++++++++++++++++++++++++++++++ src/GL.hpp | 2 +- src/RenderScene.cpp | 11 +++++++++++ src/RenderScene.hpp | 23 +++++++++++++++++++++++ src/RenderSet.cpp | 11 +++++++++++ src/RenderSet.hpp | 24 ++++++++++++++++++++++++ 8 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 src/RenderScene.cpp create mode 100644 src/RenderScene.hpp create mode 100644 src/RenderSet.cpp create mode 100644 src/RenderSet.hpp diff --git a/LOGIC b/LOGIC index 557a3a7..533bf65 100644 --- a/LOGIC +++ b/LOGIC @@ -2,7 +2,7 @@ This file describes the program logic and organization. It holds a focus on data ,,,,,,,,,,,,,,,,,,,,,,,, Program Organization -§§§§§§§§§§§§§§§§§§§§§§§§ +```````````````````````` To begin with, RtB is governed by a state machine, individual states, and sub-states (modal dialogs/windows). The state machine, as run by the main loop, is as follows: 1. Check states for destroy/clean-up flags diff --git a/build/vs/vs.vcxproj b/build/vs/vs.vcxproj index f750f45..9b27639 100644 --- a/build/vs/vs.vcxproj +++ b/build/vs/vs.vcxproj @@ -76,6 +76,10 @@ xcopy /d /y "..\..\..\..\Dev\SDL2-2.0.3\lib\x86\SDL2.dll" "$(OutDir)" + + + + @@ -87,6 +91,13 @@ xcopy /d /y "..\..\..\..\Dev\SDL2-2.0.3\lib\x86\SDL2.dll" "$(OutDir)" true + + + + + + + diff --git a/build/vs/vs.vcxproj.filters b/build/vs/vs.vcxproj.filters index 5a447cd..34506f3 100644 --- a/build/vs/vs.vcxproj.filters +++ b/build/vs/vs.vcxproj.filters @@ -16,11 +16,26 @@ {cf99fdc6-e0b4-4ff6-a517-63c2e5392c31} + + {e0e1a725-2ac7-4b9b-bc04-51850b74c96c} + Source Files + + Classes + + + Classes + + + Classes + + + Classes + @@ -30,4 +45,21 @@ Build Copy + + + Classes + + + Classes + + + Header Files + + + Classes + + + Classes + + \ No newline at end of file diff --git a/src/GL.hpp b/src/GL.hpp index 10175fa..aa16075 100644 --- a/src/GL.hpp +++ b/src/GL.hpp @@ -9,4 +9,4 @@ This file provides common includes to access OpenGL types and functions #include "SDL_opengles.h" #else #include "SDL_opengl.h" -#endif +#endif \ No newline at end of file diff --git a/src/RenderScene.cpp b/src/RenderScene.cpp new file mode 100644 index 0000000..5b410c9 --- /dev/null +++ b/src/RenderScene.cpp @@ -0,0 +1,11 @@ +/* ================================================================ +RenderScene +---------------- +This header file defines the RenderScene class. +================================================================ */ +#include "RenderScene.hpp" +/* ======== Constructors and Destructors ======== */ +RenderScene::RenderScene() { +} +RenderScene::~RenderScene() { +} \ No newline at end of file diff --git a/src/RenderScene.hpp b/src/RenderScene.hpp new file mode 100644 index 0000000..0a04b60 --- /dev/null +++ b/src/RenderScene.hpp @@ -0,0 +1,23 @@ +/* ================================================================ +RenderScene +---------------- +This header file describes the RenderScene class. + +A RenderScene is the class that contains the rendering objects for a +3D scene. Additionally, it contains a vector of RenderCamera classes, +each of which correspond to a different scene perspective. +================================================================ */ +#ifndef RENDERSCENE_HPP +#define RENDERSCENE_HPP +#include "GL.hpp" +#include "RenderCamera.hpp" +#include +class RenderScene { + public: + RenderScene(); + ~RenderScene(); + private: + std::vector cameras; // Our scene's cameras + //std::vector render_sets; // Our scene's render sets +}; +#endif diff --git a/src/RenderSet.cpp b/src/RenderSet.cpp new file mode 100644 index 0000000..7f4181b --- /dev/null +++ b/src/RenderSet.cpp @@ -0,0 +1,11 @@ +/* ================================================================ +RenderSet +---------------- +This header file defines the RenderSet class. +================================================================ */ +#include "RenderSet.hpp" +/* ======== Constructors and Destructors ======== */ +RenderSet::RenderSet() { +} +RenderSet::~RenderSet() { +} \ No newline at end of file diff --git a/src/RenderSet.hpp b/src/RenderSet.hpp new file mode 100644 index 0000000..f0c655c --- /dev/null +++ b/src/RenderSet.hpp @@ -0,0 +1,24 @@ +/* ================================================================ +RenderSet +---------------- +This header file describes the RenderSet class. + +A RenderSet is a container class for similar RenderObject instances. +It provides all contained RenderObjects with a shared shader program for +their rendering. RenderSets are contained in a RenderScene and define different +rendering layers of the program. +================================================================ */ +#ifndef RENDERSET_HPP +#define RENDERSET_HPP +#include "GL.hpp" +#include +class RenderSet { + public: + RenderSet(); + ~RenderSet(); + private: + int mode; // bitflag, 0 = normal, 1 = hide + //std::vector objects; // Our vector of objects to render + GLuint program; // Our rendering program +}; +#endif