Repository navigation
Releases: lSara-MM/Pinky_Engine
Releases · lSara-MM/Pinky_Engine
Release list
Pinky_Engine_v.1.0
High-level System: User Interface 
- System to render a variety of widgets on screen
- UI Game Objects/Widgets:
- Canvas:
- surface that represents the game window. What is inside of it will be rendered to game
- automatically created when any UI Game Object is created and there is no canvas on scene
- Image: displays an image. Options to change its colour and the texture attached to it
- Text: renders the desired text ("Hello World" by default). Option to change the font colour and size
- Button: it is formed by two Games Objects:
- Text: if the user desires to input a text
- Button: holds the logic of the button with the following states: Normal, Focusd, Pressed, Selected and Release
- Option to change the colours of each state
- Option to change the colour of the texture
- Option to change the texture
- It can call custom functions (like the fade in the demo)
- Input Box: allows player to input any text when selected :
- Input box Game Object holds the logic and has the same states as button
- Text Game Object to store the input text (and be able to move it around)
- It has the option to put a character limit
- Checkbox: composed of multiple Game Objects:
- Checkbox as the parent of the rest holds the logic to disable the checkmark and execute a desired function
- Text if user wants to put a label to the widget
- Background behind the checkmark
- Checkmark, changes when the Checkbox parent is changed
- As with button, option to change the colours of the states and of the textures
- Canvas:
- All of the UI Game Objects can be navigated through with tab (change the selected one)
- Logic of all the UI works only in play mode
- Buttons allow input from the keyboard (spacebar)
- There is a demo that shows the functionality of all the Widgets:
- Main menu with a fullscreen background, with an imput box and a button to start, when pressed fades away
to the next scene - Next scene has the town of the second assignment and a crosshair in the middle of the screen
- Pressing F1 in this scene opens up a menu, with a checkbox to drag the window and to toggle Vsync
- Main menu with a fullscreen background, with an imput box and a button to start, when pressed fades away
Pinky_Engine_v.0.2
Features 
- Load and draw FBX files by dragging them to the engine from anywhere in the Hard Drive
- Load and apply DDS/PNG textures by dragging them to the engine from anywhere in the Hard Drive
- Game Object structure, one for each loaded mesh. Inspector shows the following:
- Each GameObject can have 4 components: Transform, Mesh, Material and Camera
- Transform component that allows to translate, rotate and scale Game Objects, both with the inspector and guizmos
- Mesh component:
- Allows to show vertex normals, face normals of the geometry, OBB, and global AABB
- Material component allows to change the color (with a color picker) and a toggle to show the checkers
- Camera component:
- User can modify the near plane, far plane and FOV
- Game camera checkbox to enable or disable if the component is the rendering game camera
- Meshes can be discarded using Frustum Culling, checkbox to enable or disable
- User can add mesh (choose a primitive shape), material and camera (can't add more than one of each for each Game Object, like in Unity Engine)
- Mesh and material component can be deleted pressing the cross icon
- Toggle to enable and disable Game Object, it will not render and will appear slightly turned off in the hierarchy
- Clicking the name allows the user to change it (press enter to save it and esc to cancel)
- GameObjects can be picked from the world using the mouse
- Each GameObject can have 4 components: Transform, Mesh, Material and Camera
- Resources and CFF
- Models, meshes and textures are saved with our own format under Library folder
- Scene can be serialized to a file that can be loaded
- Upon start, all resources not managed inside Assets are generated in Library
- Library folder regenerates from Assets + meta content
- All resources use reference counting
- Hierarchy:
- User can fold and unfold the children of a parent
- Multiple selection of Game Objects
- Delete Game objects from the engine deletes them from the hierarchy
- Move Game Object to change its parent
- Right click Game Object allows to create a child with a primitive shape or empty
- Console Window:
- Show the geometry and texture loading process
- Show the libraries initialization process
- Special messages for errors and warnings (highlighted in red and yellow)
- Button to clear the console.
- Search option to look for messages
- Play time:
- User can user can Start / Pause / Stop / Step the simulation and recover its original state
- 2 timers show the real time since the engine started and the game time since the simulation started (play button)
- Cameras:
- There are 2 windows: one with editor view and another withe the game view
- Game view is captured with a Game Object and can be changed
- Each one has its own framebuffer and the user can visualize both at the same time
Pinky_Engine_v.0.1
Features 
- Load and draw FBX files by dragging them to the engine from anywhere in the Hard Drive
- Load and apply DDS/PNG textures by dragging them to the engine from anywhere in the Hard Drive
- Game Object structure, one for each loaded mesh. Inspector shows the following:
- Each GameObject can have 3 components: Transform, Mesh and Material
- Mesh component allows to show vertex normals and face normals of the geometry
- Material component allows to change the color (with a color picker) and a toggle to show the checkers
- User can add mesh (choose a primitive shape) and material components (can't add more than one of each, like in Unity Engine)
- Mesh and material component can be deleted pressing the cross icon
- Toggle to enable and disable Game Object, it will not render and will appear slightly turned off in the hierarchy
- Clicking the name allows the user to change it (press enter to save it and esc to cancel)
- Each GameObject can have 3 components: Transform, Mesh and Material
- Hierarchy:
- User can fold and unfold the children of a parent
- Multiple selection of Game Objects
- Delete Game objects from the engine deletes them from the hierarchy
- Move Game Object to change its parent
- Right click Game Object allows to create a child with a primitive shape or empty
- Console Window:
- Show the geometry and texture loading process
- Show the libraries initialization process
- Special messages for errors and warnings (highlighted in red and yellow)
- Button to clear the console.