GraphicsEngine
A windows console 3D graphics engine written in C#.
Install / Use
/learn @ckarcz/GraphicsEngineREADME
GraphicsEngine
A windows console 3D graphics engine written in C#.
⚠️ This is a very rudimentary learning project! See inspirations below on much better implementations.
This is a learning project regarding creating the foundations of a 3D graphics engine.
Much inspiration was taken from these guys:
- https://github.com/interl0per/Console-Graphics
- https://github.com/Victormeriqui/Console3D
(Though for the vast majority of things, I am writing entirely from scratch for complete learning.)
Customized wavefront obj loading code I am currently using: https://github.com/ChrisJansson/ObjLoader
Features:
- Loading of 3D wavefront object models, converting to mesh representation. Models with faces containing more than 3 vertices is supported.
- Lazy rasterizer: A sequence of drawing actions are cached and only executed when final image rasterization is executed.
- Ability to draw (rasterize) points, lines, triangles, polygons, vertical & horizontal strings, axes, and meshes to buffer.
- Mesh center vertices and bounding box can also be drawn.
- Meshes can be rasterized as wired polygons, vertices, or as solids (tad bit buggy).
- Ability to transform rasterized objects: scaling, translation, and rotations along every axis.
- 16 bit polychromatic rendering baby! Still a bit to do for the API for the colors and such.
- Rudimentary polygon hiding algo (zbuffer). (tad bit buggy)
To do:
- Update transformation so objects are scaled and rotated around the objects center, even for object models not centered around (0, 0, 0).
- Implement a camera (perspective projection).
- Lighting & shadows.
- Some Kernel32 Console Abstractions (coloring, etc).
- Create an asteroids game demo using the engine.
Screenshots:
http://gfycat.com/DigitalWhichGar

Related Skills
node-connect
344.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
