Technical documentation for the DNA Visualizer coursework project. For a quick start, see the main README.
| Document | Description |
|---|---|
| Architecture | High-level design, module boundaries, and main loop |
| Rendering pipeline | FBO, Phong shading, post-processing (Sobel, FXAA, vignette) |
| DNA model | Sequences, helix geometry, Watson–Crick pairing, mutations |
| Module reference | Classes, responsibilities, and key APIs |
| Build & development | Build steps, dependencies, conventions, extending the project |
Application loop
poll events → update (input, animation, mutations) → render scene to FBO
→ post-process → ImGui overlay → swap buffers
Entry point: src/core/main.cpp → dna::Application::run()
Asset paths: Shaders and textures are loaded relative to the working directory (assets/). Always launch the executable from the repository root.