|
Brunot
|
#include <opengl.h>
Public Member Functions | |
| OpenGL () | |
| ~OpenGL () override | |
| auto | clone () const -> std::unique_ptr< GameObject > override |
| makes a copy a GameObject even if it's held polymorphically | |
| auto | onUpdate (float dt) -> void override |
| called once every frame. | |
| auto | endWindow () -> void override |
| currently unused, but intended to but was assumed to be necessary for a proper ImGui editor | |
| auto | onRender () -> void override |
| called every frame after update has been called for every object. | |
| auto | onEnterEngine () -> void override |
| hook that is called when a GameObject enters the Engine tree. | |
| auto | load (Stream &stream) -> void override |
| Implementations will load the state of a GameObject from a th::Json Object. | |
| auto | save (Stream &stream) const -> void override |
| Implementations will load the state of a GameObject to a th::Json object. | |
| auto | getWindow () const -> GLFWwindow * |
| auto | getTextureID () const -> GLuint |
| auto | bindFrameBuffer () -> void |
| bind framebuffer for ImGui Viewport | |
| auto | unbindFrameBuffer () -> void |
| unbind framebuffer for ImGui Viewport | |
| auto | createFrameBuffer () -> void |
| create framebuffer for ImGui Viewport | |
| auto | rescaleFrameBuffer () -> void |
| rescale framebuffer for ImGui Viewport based on sys::opengl width and height | |
| auto | finishFrame () const -> void |
| auto | getWidth () const -> int |
| auto | getHeight () const -> int |
| auto | setWidth (int width) -> void |
| auto | setHeight (int height) -> void |
| Public Member Functions inherited from System | |
| auto | showMenu () -> void override |
| Called before update each frame, for calling ImGui editor code relevant to the gameObject. | |
| auto | getKey () const -> Key override |
| Generates a unique Key that corresponds to the GameObject. | |
| auto | getParent () const -> GameObject *override |
| Gets the parent of a GameObject. | |
| Public Member Functions inherited from GameObject | |
| GameObject (std::string typeName, gobj::Type parentType, gobj::Type type) | |
| constructor for gameobject. | |
| virtual | ~GameObject () |
| destructor for GameObject. | |
| GameObject (const GameObject &other) | |
| Copy Constructor. | |
| auto | operator= (const GameObject &other) -> GameObject & |
| copy assignment operator | |
| GameObject (GameObject &&other) noexcept | |
| Move constructor. | |
| auto | operator= (GameObject &&other) noexcept -> GameObject & |
| Move assignment operator. | |
| virtual auto | update (float dt) -> void |
| called once every frame. | |
| virtual auto | render () -> void |
| called every frame after update has been called for every object. | |
| virtual auto | destroy () -> void |
| Marks an GameObject to be destroyed. | |
| virtual auto | for_each (std::function< void(GameObject &)> func) -> void |
| applies a function to every child. | |
| virtual auto | for_each (std::function< void(const GameObject &)> func) const -> void |
| applies a const function to every child. | |
| virtual auto | parentTo (GameObject *newParent) -> bool |
| Sets the GameObject as a child of another GameObject. | |
| auto | getInternalParent () const -> GameObject * |
| returns the actual owning parent of the GameObject | |
| virtual auto | addChild (std::unique_ptr< GameObject > newChild) -> bool |
| Adds a child to a GameObject. | |
| auto | destroyed () const -> bool |
| auto | getUUID () const -> gobj::UUID |
| auto | isUUID (gobj::UUID compareUUID) const -> bool |
| auto | getName () const -> const std::string & |
| Gets the type of the object as a string. | |
| auto | getNickname () const -> const std::string & |
| Gets the nickname (custom, writable name) of a GameObject. | |
| void | calculateFormattedName () const |
| auto | getFormattedName () const -> const std::string & |
| combines a GameObjects Type, Nickname, and UUID into one string, for use with logging. | |
| auto | nameEquals (const std::string &compareString) const -> bool |
| check whether a GameObjects typeName is equivilent to a given string. | |
| auto | isType (gobj::Type otherType) const -> bool |
| check whether the GameObject is the same as a given type. | |
| auto | getObjectType () const -> gobj::Type |
| gets the internal type of the GameObject, as an enum | |
| auto | setNickname (const std::string &newNickname) -> void |
| sets the GameObjects nickname. | |
| auto | updates () const -> bool |
| auto | renders () const -> bool |
| auto | receivesMessages () const -> bool |
| auto | isActive () const -> bool |
| virtual auto | setShouldUpdate (const bool _shouldUpdate) -> void |
| set whether the GameObject should update every frame, and whether all of it's children should update every frame | |
| virtual auto | setShouldRender (const bool _shouldRender) -> void |
| set whether the GameObject should render every frame, and whether all of it's children should render every frame | |
| virtual auto | setShouldReceiveMessages (const bool _shouldReceiveMessages) -> void |
| set whether the GameObject should Receive Messags, and whether all of it's children should receive messages | |
| auto | setActive (const bool shouldBeActive) -> void |
| set the GameObject should update, render, and receive messages | |
Static Public Member Functions | |
| static auto | getEnum () -> Type |
| function required by all systems | |
Protected Member Functions | |
| auto | systemShowMenu () -> void override |
| Specific systems should override this function to show their specific menu for the system. | |
| Protected Member Functions inherited from System | |
| System (const std::string &typeName, Type systemType) | |
| Protected Member Functions inherited from GameObject | |
| auto | setInternalParent (GameObject *parent) -> bool |
| sets the internal parent of a GameObject directly, avoiding abstractions provided by ParentTo(). | |
| auto | getGameObjectJson () const -> json |
| Used for serializing GameObjects. | |
| auto | setGameObjectJson (const json &stream) -> void |
| used for deserializing GameObjects | |
| virtual auto | getChildren () const -> std::shared_ptr< std::vector< GameObject * > > |
| gets a vector of a GameObjects public (i.e. | |
| auto | checkAddToSceneHook () -> void |
| Determine if the GameObject was recently added to the engine, and if it was, call onEngineEnter. | |
Private Member Functions | |
| auto | createMesh () -> void |
| auto | setShaderUniforms () const -> void |
| auto | linkMessages () -> void |
| linking message | |
| auto | receiveToggleWindowedFullScreen (const Message *message) -> Message |
| message for toggling fullscreen | |
Static Private Member Functions | |
| static auto | lookAt (const Eigen::Vector3f &eye, Eigen::Vector3f center, Eigen::Vector3f up) -> Eigen::Matrix4f |
| static auto | draw (GLuint shader, float scale, float rotation, Eigen::Vector4f position, GLuint mesh, int vertexCount, GLuint texture) |
Private Attributes | |
| GLFWwindow * | windowHandle |
| GLFWmonitor * | monitorHandle {nullptr} |
| monitor handle if it is in null its in windowed mode and if its not it will go into fullscreen its just | |
| const GLFWvidmode * | videoMode |
| int | width {default_window_width} |
| int | height {default_window_height} |
| std::unique_ptr< GLFWimage > | windowIcon |
| GLuint | colorShader = 0 |
| The following are test variables for test opengl. | |
| GLuint | textureShader = 0 |
| ID for the shader which handleds textures. | |
| GLuint | meshID = 0 |
| ID for the mesh. | |
| GLuint | meshVertexBufferID = 0 |
| ID for the vertex buffer associated with the mesh. | |
| int | meshVertexCount = 0 |
| number of vertices in the mesh | |
| GLuint | textureID = 0 |
| ID for the texture for custom frameBuffer. | |
| GLuint | frameBuffer = 0 |
| ID for the custom framebuffer. | |
| GLuint | renderBuffer = 0 |
| ID for the custom renderBuffer. | |
| Eigen::Vector4f | cardPosition {150.f, -20.f, 0.f, 1.f} |
| const char * | ColorShaderFile = "source/Shaders/Frag/color.frag" |
| const char * | TextureShaderFile = "source/Shaders/Frag/texture.frag" |
| const char * | VertexShaderFile = "source/Shaders/Vert/default.vert" |
| const char * | cardFile = "Assets/cards/40x60_card.png" |
| float | backgroundRedVal = 0.1f |
| float | backgroundGreenVal = 0.1f |
| float | backgroundBlueVal = 0.1f |
Additional Inherited Members | |
| Public Types inherited from System | |
| enum class | Type : unsigned short { system_error_type = 0 , newSystemStub = 100 , OpenGL = 200 , Input = 300 , Editor = 400 , Messaging = 500 , Camera = 600 , Logging = 700 , AudioSystem = 750 , Scoring = 800 , HandSystem = 900 , SceneManager = 1000 , ActionList = 1100 , DebugDraw = 1150 , TestRunner = 1200 , ColliderSystem = 1300 } |
| Public Attributes inherited from GameObject | |
| friend | Entity |
| friend | Node |
| friend | ChildrenHandeler |
| friend | Engine |
| sys::OpenGL::OpenGL | ( | ) |
|
override |
| auto sys::OpenGL::bindFrameBuffer | ( | ) | ->void |
bind framebuffer for ImGui Viewport
|
overridevirtual |
makes a copy a GameObject even if it's held polymorphically
Implements GameObject.
| auto sys::OpenGL::createFrameBuffer | ( | ) | ->void |
create framebuffer for ImGui Viewport
|
private |
|
staticprivate |
|
inlineoverridevirtual |
currently unused, but intended to but was assumed to be necessary for a proper ImGui editor
Implements GameObject.
| auto sys::OpenGL::finishFrame | ( | ) | const->void |
|
inlinestatic |
function required by all systems
|
nodiscard |
| auto sys::OpenGL::getTextureID | ( | ) | const->GLuint |
|
nodiscard |
| auto sys::OpenGL::getWindow | ( | ) | const->GLFWwindow * |
|
private |
linking message
|
overridevirtual |
Implementations will load the state of a GameObject from a th::Json Object.
Unimplemented in GameObject
| stream | th::Json Object |
Implements GameObject.
|
staticprivate |
|
overridevirtual |
hook that is called when a GameObject enters the Engine tree.
The hook is called immedietly after a gameobject's parent is called. Functionality may not be correct if an object was removed from the engine then re-added
Reimplemented from GameObject.
|
overridevirtual |
called every frame after update has been called for every object.
Generally used for rendering an object to the screen, when applicable. Unimplemented in GameObject
Implements GameObject.
|
overridevirtual |
called once every frame.
Generally used for timers, movement, condition checks, etc. Unimplemented in GameObject
| dt | the time in seconds that has elapsed |
Implements GameObject.
message for toggling fullscreen
| auto sys::OpenGL::rescaleFrameBuffer | ( | ) | ->void |
rescale framebuffer for ImGui Viewport based on sys::opengl width and height
|
overridevirtual |
Implementations will load the state of a GameObject to a th::Json object.
Unimplemented in GameObject
| stream | th::Json Object |
Implements GameObject.
| auto sys::OpenGL::setHeight | ( | int | height | ) | ->void |
|
private |
| auto sys::OpenGL::setWidth | ( | int | width | ) | ->void |
|
overrideprotectedvirtual |
Specific systems should override this function to show their specific menu for the system.
Reimplemented from System.
| auto sys::OpenGL::unbindFrameBuffer | ( | ) | ->void |
unbind framebuffer for ImGui Viewport
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
The following are test variables for test opengl.
ID for the shader taht only applies color
|
private |
|
private |
ID for the custom framebuffer.
|
private |
|
private |
ID for the mesh.
|
private |
ID for the vertex buffer associated with the mesh.
|
private |
number of vertices in the mesh
|
private |
monitor handle if it is in null its in windowed mode and if its not it will go into fullscreen its just
|
private |
ID for the custom renderBuffer.
|
private |
ID for the texture for custom frameBuffer.
|
private |
ID for the shader which handleds textures.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |