Skip to content

A custom opengl and physx based graphics api to be used in game engine and physics simulation applications.

Notifications You must be signed in to change notification settings

furkanunsal42/GraphicsCortex

Repository files navigation

GraphicsCortex

GraphicsCortex is a custom OpenGL and Physx based 3D graphics API to be used in the game engine and physics simulation applications. It aims to provide a platform to create high-performance physics simulations with realistic graphics. With tools to communicate between python scripts, it enables the training of deep learning agents in these environments. Since it is first created to train autonomous driving models, it has special tools to create vehicle simulations. Training neural networks is a compute resource heavy proceess itself, so the simulation used for it must be cheap in gpu usage and video memory, also be very fast. GraphicsCortex is developed to use the least amount of resources for simulation and rendering while providing the most amount of control to the user.

Some Example Renders of Current Progress

Lighting

2022-06-17 03-23-26 (1) 2022-06-19 17-45-08

Normal Maps and Skybox

2022-07-05 16-04-29

Reflections

2022-08-06 05-57-15 (1)

Other Renders

sculpture

Vehicles

GraphicsCortexVehicleDemo(1)

Youtube Examples

Features (work in progress)

Currently Used Libraries:

Library Functionality
glew OpenGL
GLFW Window
glm Math
assimp 3D Mesh Loading
stb_image Image Read/Write/Compression/Decompression
physx Physics Simulation
redis In-Memory Communication Between Other Languages
FreeType Font File Loading

GraphicsCortex Roadmap for 2024

Utils

Splines
Python API
CUDA/OpenCL connection?

UI/UX

Editor
Docking
Object Hierarchy
Prefabs
Component System
Mouse Controls
Serialization
Deserialization
Hot code reloading

Rendering

Shader Attribute and Layout detection
Mesh Configuration
PBR and BRDF
RenderPasses and Shadows
Implementing Vulkan
Vulkan RTX Path Tracing
Skeletal Animations
Compute Shaders

Physics

Transition to PhysX 5.1
Scene Queries
Collusion Detection
Physics Visualization

Advanced

Liquid Simulations
Smoke Sİmulations
Volumetric Rendering
Cloth Simulations

AlecTED simulation requirements

Step 1:

A scene with anolog controllable vehicle from python, obstacles, target area.
(missing: analog control, standarized python api, collusion detection)

Step 2:

A scene in city with traffic and pedestrians