sndels / naiverend

A graphics renderer for learning purposes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

naiverend

A lightweight OpenGL renderer with naive hardcoded shader program

Loosely based on OGLdev-tutorials with marching cubes implementation built upon Paul Bourke's paper.

Cmake build should work^tm on windows (vs2015) and osx (clang) if GLFW3 is installed. git submodule init and git submodule update are needed to pull imgui.

Model to be loaded is currently hardcoded in scene.cpp as is it's scale and orientation. Interaction includes an arcball-implementation with mouse wheel controlling the distance plus arrows and shift - up/down controlling the model's position.

Layer file parser is a marching cubes implementation which takes numbered (*.1 - *.n) layer files with a header in the same folder. Header is constructed as follows:

name        MRbrain
filename    MRbrain.
threshold   1400
resX        256
resY        256
layers      109
aspX        1
aspY        1
aspZ        2

^^This is used to parse MRbrain from https://graphics.stanford.edu/data/voldata/

About

A graphics renderer for learning purposes

License:MIT License


Languages

Language:C 84.3%Language:C++ 14.4%Language:CMake 1.0%Language:GLSL 0.3%