marsp0 / phong-software-renderer Goto Github PK
View Code? Open in Web Editor NEWsoftware renderer from scratch
software renderer from scratch
Add a basic OBJ paraser that would be able to parse meshes/textures/light sources
Add a Camera
that will be part of the Scene
. The camera should implement both perspective and orthographic projections, it should also implement the view matrix.
Add an action to build + test code in PRs
Instead of repeating the same vertex multiple times, we should store vertices once in a vector and use indices to retrieve the correct vertex data when necessary.
Every object should return its object -> world matrix to the renderer.
Add the below to the Model
class and allow the user to switch between them.
Add attribute interpolation (for now just color i guess). Add both linear
and perspective-correct
interpolation.
Currently the matrix code has a couple of loops in it. Check if those will be a perf issue, i dont think so but still worth checking.
Move all the _ASSERT_TYPE functions into a single templated function. Add ability to pass additional error messages.
The rasterizer uses AABB to check which pixels to color. See what alternatives exist to not have to iterate over the entire AABB
make shader-reflection
The Scene
should handle the input logic.
Render overlay with
Add documentation to the current code + generate docs.
Now that world transform, camera transform and the projection matrix are in update the draw code to
We want to be able to construct a model and draw it in the renderer main loop.
The scene parser works but is extremely ugly, refactor to avoid having 100 line functions
The Flat Rasterization does not have Z-Buffering and attribute interpolation. We should either remove it (there are a lot of visible artifacts when using it) or update it to support the above.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.