In development rendering platform / model viewer for Windows. Thanks for taking the time to check out my project.
Sample models supplied by KhronosGroup GLTF sample repo.
Here is a quick demo of the project in action.
NxtEngine is built with Win32 and OpenGL to get a better understanding of the computer graphics pipeline, graphics programming, and game engine development.
- Custom ECS
- SSAO
- Deferred rendering
- Drag and Drop 3D GLTF Model loading
- MSAA
- Normal and Parallax mapping
- Shadow support
- Skyboxes
- GLTF Feature Support
- Animations
- Heirarchy
- Materials
- Meshes
- Morph targets
- Multiple scenes
- Skins
- Sparse Accessors
- Textures and Images
- Vertex Colors
Screenshots can be found in the media folder.
- Windows OS
- C++20
- (Suggested) Visual Studio 2022
-
Download the repository with
git clone --recursive https://github.com/dubtcs/Next.git
-
Run
_GenerateSolutions.bat
to create VS2022 solution and project files.- You can use this any time you make changes to the premake5.lua file or just want new solutions.
NxtEngine comes with a built in viewer, but if you want to use the raw render api or your own app, you can.
Model Scale:
[+] Scale model up
[-] Scale model down
SSAO:
[B] Toggle SSAO
Animation:
[0 - 9] Play animations.
[P] Pause animation
[G] Stop animation
An interface is provided to hook into the main loop of the engine.
Add NextEngine/src
as an include directory.
#include <NextEngine.h>
class ExampleInterface : public nxt::AppInterface
{
public:
virtual OnUpdate(float dt, bool isFocused) override;
virtual OnEvent(nxt::events::Event& ev) override;
};
int main()
{
nxt::app::Launch("Your App Name", 1920, 1080);
// AddInterface takes an std::shared_pointer to an AppInterface
nxt::app::AddInterface(nxt::NewShared<ExampleInterface>());
nxt::app::Run();
}