All Projects → tandandanw → SoftwareRenderer

tandandanw / SoftwareRenderer

Licence: other
Soft-only 3d renderer.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to SoftwareRenderer

Tinyrenderer
A brief computer graphics / rendering course
Stars: ✭ 11,776 (+98033.33%)
Mutual labels:  computer-graphics, rasterizer
rasterator
Real-time software rasterizer written in C++ with windowing and model loading support.
Stars: ✭ 15 (+25%)
Mutual labels:  computer-graphics, rasterizer
computer-vision-notebooks
👁️ An authorial set of fundamental Python recipes on Computer Vision and Digital Image Processing.
Stars: ✭ 89 (+641.67%)
Mutual labels:  computer-graphics
DeepSIM
Official PyTorch implementation of the paper: "DeepSIM: Image Shape Manipulation from a Single Augmented Training Sample" (ICCV 2021 Oral)
Stars: ✭ 389 (+3141.67%)
Mutual labels:  computer-graphics
Monte-Carlo-Path-Tracer
A realistic Monte Carlo Path Tracer project for CS230 (Virtual Reality and Interactive 3D Graphics Display), ACM Class, SJTU
Stars: ✭ 19 (+58.33%)
Mutual labels:  computer-graphics
mesh-deform
🍭 Physically plausible interactive 3D mesh deformation based on as rigid as possible constraints.
Stars: ✭ 67 (+458.33%)
Mutual labels:  computer-graphics
ST-CGAN
Dataset and Code for our CVPR'18 paper ST-CGAN: "Stacked Conditional Generative Adversarial Networks for Jointly Learning Shadow Detection and Shadow Removal"
Stars: ✭ 64 (+433.33%)
Mutual labels:  computer-graphics
swGL
A multithreaded software implementation of OpenGL 1.3 in C++.
Stars: ✭ 50 (+316.67%)
Mutual labels:  rasterizer
Anime4K-rs
An attempt to write Anime4K in Rust
Stars: ✭ 104 (+766.67%)
Mutual labels:  computer-graphics
Multimodal-Shape-Completion
code for our ECCV 2020 spotlight paper "Multimodal Shape Completion via Conditional Generative Adversarial Networks"
Stars: ✭ 73 (+508.33%)
Mutual labels:  computer-graphics
Texturize
A unified framework for example-based texture synthesis, developed alongside my master's thesis.
Stars: ✭ 15 (+25%)
Mutual labels:  computer-graphics
platonicgan
Escaping Plato’s Cave: 3D Shape from Adversarial Rendering [ICCV 2019]
Stars: ✭ 40 (+233.33%)
Mutual labels:  computer-graphics
SymmetricRL
Repo for "On Learning Symmetric Locomotion"
Stars: ✭ 30 (+150%)
Mutual labels:  computer-graphics
unity-raymarcher
Real-time ray marching shaders in Unity
Stars: ✭ 28 (+133.33%)
Mutual labels:  computer-graphics
Ray-Tracer
Simple Ray Tracer
Stars: ✭ 18 (+50%)
Mutual labels:  computer-graphics
ALIGNet
code to train a neural network to align pairs of shapes without needing ground truth warps for supervision
Stars: ✭ 58 (+383.33%)
Mutual labels:  computer-graphics
photon mapping
minimal but extensible header only implementation of photon mapping in C++
Stars: ✭ 65 (+441.67%)
Mutual labels:  computer-graphics
weekend-raytracer-zig
A Zig implementation of the "Ray Tracing in One Weekend" book
Stars: ✭ 74 (+516.67%)
Mutual labels:  computer-graphics
FunMirrors
This is a fun project I created to motivate computer vision enthusiasts and to highlight the importance of understanding fundamental concepts related to image formation in a camera.
Stars: ✭ 43 (+258.33%)
Mutual labels:  computer-graphics
Im2Vec
[CVPR 2021 Oral] Im2Vec Synthesizing Vector Graphics without Vector Supervision
Stars: ✭ 229 (+1808.33%)
Mutual labels:  computer-graphics

Software Renderer

Introduction

Software renderer shows the automatic process of generating a image from a 3D model by means of computer programs. It contains a common implementation of basic principles in polygon-related graphics theory.

  • 3D Transformations

  • Backface Culling

  • Clipping

  • Phong Lighting (Blinn-Phong reflection model)

  • Triangles Spliting

  • Scanline filling

  • Bresenham's Line Algorithm

  • Z-buffering

  • Point / Bilinear Filtering

Requirement

  • Microsoft Visual Studio 2017

Compile and Run

  • Only for Windows users (cause using GDI):

Open the project solution (SoftwareRenderer.sln) then run it. It' s as easy as it can get.

Others

  • Blog

(SoftwareRenderer/2018-02-17-software-renderer)

  • Explanation of implementation

(SoftwareRenderer/ImplementationDetails.zip)

Screenshots

Wireframe mode

wireframe.png

Vertex color mode

color.png

Texture mode

texture.png

Lighting on

lighting.png

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].