triangle rasterizer using edge functions (barycenteric interpolation)
test_render_triangles.m - to draw test lines. Calls render_triangles(..) to draw a set of triangles.
The drawing/rendering/rasterization process is:
1. triangle vertices (homogeneous co-ordinate system) are specified in north east down co-ordinate system. Refer test_render_triangles.m. Points are converted to opengl co-ordinate system before rasterization. (-Z forward axis).
2. view matrix, perspective matrix and viewport matrix are computed.
3. Points transformed to clip space. Clipping of triangle is implemented using suderland hodgman algorithm.
4. triangle rasterization is done using edge function based barycentric interpolation (optimized)
5. Prospectively correct texture interpolation
6. z buffering is implemented
7. Triangle line grid drawing using breshenham algorithm
(read from books or search internet before/while reading code: Search Topics: opengl graphics pipeline, perceptive matrix computation, clip space, liang barsky algorithm, perspective divide , opengl view port computation, edge functions and barycentric interpolation for triangle filling, bresenham algorithm for line drawing, quatenion to dcm/euler angles conversion, matrix manipulations like translation, rotation, scaling )
Cite As
Vipin Yadav (2024). triangle rasterizer using edge functions (barycenteric interpolation) (https://www.mathworks.com/matlabcentral/fileexchange/51711-triangle-rasterizer-using-edge-functions-barycenteric-interpolation), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.