https://github.com/jack-mil/matlab-render-pipeline
GPU Programming for 3D Graphics SU24
https://github.com/jack-mil/matlab-render-pipeline
3d-graphics demonstration matlab proof-of-concept render-pipeline shading suzanne
Last synced: about 1 year ago
JSON representation
GPU Programming for 3D Graphics SU24
- Host: GitHub
- URL: https://github.com/jack-mil/matlab-render-pipeline
- Owner: jack-mil
- License: bsd-3-clause
- Created: 2024-06-02T04:22:43.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-10T16:37:46.000Z (over 1 year ago)
- Last Synced: 2025-02-14T14:50:49.448Z (over 1 year ago)
- Topics: 3d-graphics, demonstration, matlab, proof-of-concept, render-pipeline, shading, suzanne
- Language: MATLAB
- Homepage:
- Size: 39.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 3D Rendering Pipeline in MATLAB
### Features
- Perspective or Orthographic projection (Right Handed Axis)
- Full object transform (Scale, Rotation, Translation)
- Freely position camera in 3D space
- Configurable camera FOV and aspect ratio
- Any number of point lights, with any color
- Per vertex shading with Specular & Diffuse lighting passes (ambient optional)
- Only 30 lines of code! Fully vectorized, no loops used
## Images










Animation made by rendering frames and encoding with ffmpeg and gifksi
```bash
gifski -r 30 --extra -Q100 -W728 --repeat 4 -o spin.gif frames/*.png
ffmpeg -framerate 30 -i 'frames/frame%03d.png' -pix_fmt yuv420p -c:v libx264 -preset veryslow -crf 18 -movflags +faststart -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" spin.mp4
```