Graphics Pipeline & Visual Computing
chriscohnen@flybackintime:~$
cat graphics_pipeline.md
A look back at the fundamentals of pixel pipelines. Coming from Motorola 68000 home computers and assembler, going via Intel 386, these projects target Intel 486 and early Pentium processors -- an era when graphics cards had no 3D acceleration. Everything from triangle rasterization to texture mapping had to be implemented in software.
Case Studies
Sanction 3D Engine
Complete 3D rendering pipeline built without hardware acceleration. Software rasterizer with support for flat shading, Gouraud shading, texture mapping, and z-buffering.
Pure2 Game Engine
Perspective-correct texture mapping at interactive frame rates. Features portal-based visibility culling, BSP subdivision, and a custom level format.
Pure3 Game Engine
Full-featured 3D engine built on DirectX (originally featured an HSL/HSV-colormodel software renderer). Implements a professional rendering pipeline with Phong shading and a Descent-style portal-occlusion system. Designed for Pentium 133 / 16MB RAM machines. Developed as a foundation for commercial-grade 3D action titles.
explore
cat history.txt
Project: Pure3 Engine
Status: Development ceased (1998)
Context: High-performance engine developed by Pinker and Chris, later adopted as a technical foundation for ambitious 3D action titles.
Features:
- Segment-based portal occlusion (Descent-style)
- Advanced DirectX pipeline (Phong, Materials)
- Dynamic SFX (Lensflares, Particle Trails)
- Custom level editor and MSV-Plugin support
Note: The engine remains our original work and served as a baseline for future research.
C2 Engine
High-performance Java 3D engine prototype. Quake 3 BSP/MD3 loader, scripting console, and real-time collision detection.
Algorithms & Simulations
Metaballs 3D
Real-time isosurface extraction using Marching Cubes. Phong shading with ray-traced lighting maps.
Saturn Landscape Renderer
Terrain rendering using Floating Horizon Hidden Line Removal (FHHLR). Full 6DOF flight with screen shearing.
Dialogs 3D Engine Logo
Technical demonstration of a custom 3D software rendering engine (no hardware acceleration). Real-time rendering of a complex 3D logo using high-performance x86 assembler routines. Features early experiments in geometry transformation and rasterization.
download_bin
cat info.txt
exe: DIALOGS Logo
Demonstration of my 3D Engine
coding: COHNEN (Christian Cohnen)
e-mail: cohnen@uni-koblenz.de
date: 31.10.95
(c) Christian Cohnen
W3D TestLab 0.7
Early Windows 95 application of my 3D engine using the Video for Windows (VfW) interface. Supports 15-bit color mode (32k colors) and loaders for 3D Studio (.ASC), .NV, and .COB formats.
download_bin
cat readme.txt
W3DTOOL 0.7 (c) Christian Cohnen 1995, 1996
Eine kleine Win95 Anwendung meiner 3D-Engine.
Die Engine läuft in 15-Bit Mode mit 32k Farben über die VfW-Schnittstelle,
daher sollte ein VideoFürWindows-Treiber installiert sein.
Die Save Optionen wurden deaktiviert.
Der ASC-Lader wurde nicht vollständig aus meinem 3DTO3D Konverter (DOS)
übernommen, daher kann man z.Z. nur mit einem Trick 3DStudio Dateien
anschauen:
Zuerst großes NV oder COB laden, dann das ASC laden
und Zoomfaktor auf 1 oder 5 einstellen.
Kontakt:
Christian Cohnen
Mozartstr. 2a
56075 Koblenz
email: cohnen@uni-koblenz.de
www: http://www.uni-koblenz.de/~cohnen
Win3D Viewer 1.2
A specialized viewer showcasing engine capabilities: morphing dolphin animations, chrome-style text effects, and multi-light source textured torus rendering.
download_bin
cat readme.txt
Kleine Demo von
Win3D 1.2 (c) Christian Cohnen 1995, 1996
Ein abgespeckter Viewer mit ein paar einfachen
Beispielszenen.
1. Morphender Delphin
2. Chrom-Schrift
3. Mit 3 Lichtquellen beleuchteter texturierter Torus
Kontakt:
Christian Cohnen
Mozartstr. 2a
56075 Koblenz
email: cohnen@uni-koblenz.de
www: http://www.uni-koblenz.de/~cohnen
Research
Perspektivisches Texture Mapping
Detailed comparison of algorithms: affine, quadratic subdivision, and exact per-pixel correction.
DDS Texture Loading
Tutorial and full source code for DDS (DirectDraw Surface) texture loading in Java using LWJGL/OpenGL.
code_archived