jeanphilippekernel / rendererengine Goto Github PK
View Code? Open in Web Editor NEW3D Renderer Engine builds with Vulkan and C++ 20
License: MIT License
3D Renderer Engine builds with Vulkan and C++ 20
License: MIT License
refactor Manager to make them more abstract
we plan to use Premake
It'll be nice, for new contributors to have a step they can follow to set up the repository locally
and how they can format their pull request to facilitate the triages process (like description, changes, fix) etc...
Since we moved to CMake, the build pipeline need to be updated to run on Windows and Linux
Check spdlog : https://github.com/gabime/spdlog
the shader used in StandardMaterial don't correctly render texture bound
3 textures bound
result : 2 textures or 3 textures or 1 texture on screen
expected : 3 textures on screen
rethink the architecture of the engine to add support of multi-threading
Implements CMake Build
cleaning the code to make it more abstract
Add much more API in MeshBuilder to create basic 2D and 3D meshes (square, circle etc...)
Quad API
Square API
Circle API
Polygon API
Arc API
Line API
Dot API
Cube API
Add others keyboard keys in KeyCode
enum.
Target file : Z_Engine/src/Inputs/KeyCode.h
GitHub Action : already started,
we nedd to setup sandbox3D project to pass build step
Partially done, but we should improve for abstraction, there is some duplicate code
partially done, but we should improve color value, for normal color it's RGB (0 - 255), but for tint color texture it's Vec4 (0f- 1f)
we need to investigate
Remove comments for clean code.
Target files :
Sandbox/src/Assets/Shaders/texture.glsl
Sandbox/src/Layers/ExampleLayer.cpp
Z_Engine/src/LayerStack.cpp
Z_Engine/src/Z_Engine.h
Z_Engine/src/Layers/ImguiLayer.h
Z_Engine/src/Rendering/Buffers/IndexBuffer.h
Z_Engine/src/Rendering/Buffers/VertexArray.h
Z_Engine/src/Rendering/Renderer/GraphicRenderer.h
Z_Engine/src/Rendering/Shaders/Shader.cpp
Z_Engine/src/Window/SDLWin/OpenGLWindow.cpp
Z_Engine/src/Engine.cpp
Currently, the whole codebase lacks comments that describe each component and their associate method or functions. it would be nice to provide comments/descriptions that can serve as documentation for existing or new contributors.
We'll follow Doxygen documentation https://www.doxygen.nl/manual/docblocks.html#cppblock
Euler Camera
FPS Camera
we should go from Euler angle to Quaternion for camera rotation
these keyCodes's value are from SDL_scancode.h
check also: https://wiki.libsdl.org/SDLScancodeLookup
These events should be migrated in appropriate interface (struct / class)
::OnKeyPressed(KeyPressedEvent& event)
::OnKeyReleased(KeyReleasedEvent& event)
::OnMouseButtonPressed(MouseButtonPressedEvent& event)
::OnMouseButtonReleased(MouseButtonReleasedEvent& event)
::OnMouseButtonMoved(MouseButtonMovedEvent& event)
::OnTextInputRaised(TextInputEvent& event)
Since we moved to CMake Build System, this requires typing a command line with a bunch of parameters to drive Debug
or Release
builds.
Having a build script that can automate this process and provide a flexible way to extend and mix parameters would be useful.
One point that should be TBD is, in the post-build step we must copy/move some files and directories in Debug
or Release
dirs, the question is :
perform cleanup operation
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.