All Projects → behindthepixels → EDXRaster

behindthepixels / EDXRaster

Licence: other
A highly optimized CPU software rasterizer, which implements most of the common D3D pipeline stages.

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to EDXRaster

CPU-Rasterizer
A tile based cpu rasterizer
Stars: ✭ 30 (-62.03%)
Mutual labels:  rasterization
a-trip-through-the-graphics-pipeline-book
📕 A clone of @rygorous series of posts on the graphics pipeline.
Stars: ✭ 52 (-34.18%)
Mutual labels:  graphics-pipeline
Datashader
Quickly and accurately render even the largest data.
Stars: ✭ 2,670 (+3279.75%)
Mutual labels:  rasterization
CPURasterizer
CPU Based Rasterizer Engine
Stars: ✭ 99 (+25.32%)
Mutual labels:  rasterization
rouziclib
This is my personal library of code that is common to my different projects (Photosounder, SplineEQ, Spiral and others)
Stars: ✭ 38 (-51.9%)
Mutual labels:  rasterization
RasterizationInOneWeekend
Enter the world of rasterization with simple hands-on code
Stars: ✭ 53 (-32.91%)
Mutual labels:  rasterization
blend2d-rs
Blend2D Bindings for Rust
Stars: ✭ 20 (-74.68%)
Mutual labels:  rasterization
zAnalysis
zAnalysis是基于Pascal语言编写的大型统计学开源库
Stars: ✭ 52 (-34.18%)
Mutual labels:  rasterization
sse-avx-rasterization
Triangle rasterization routines accelerated by SSE and AVX
Stars: ✭ 53 (-32.91%)
Mutual labels:  rasterization
GeoUtils
Class-based handling of georeferenced raster and vector data
Stars: ✭ 32 (-59.49%)
Mutual labels:  rasterization
ProtoTracer
3D rendering and animation engine for multifaceted displays on microcontrollers
Stars: ✭ 80 (+1.27%)
Mutual labels:  rasterization
Awesome Opengl
A curated list of awesome OpenGL libraries, debuggers and resources.
Stars: ✭ 1,577 (+1896.2%)
Mutual labels:  graphics-pipeline

EDXRaster

Please go to behindthepixels.io/EDXRaster/ for more detailed introduction.

EDXRaster is an highly optimized software renderer based on rasterization, independently developed by Edward Liu. This renderer is written with C++ and SSE and is highly optimized. Most of the D3D11 pipeline is implemented.

The source code of EDXRaster is highly self-contained and does not depend on any external library other than EDXUtil, which is a utility library developed by Edward Liu.

EDXRaster is currently built and tested only on Windows platform. Developer using Visual Studio 2015 should be able to build the source code immediately after syncing. Porting to Linux or macOS should not be difficult since it there is no external dependency.

Technical Details

  • The rasterization was parallelized on both thread level and instruction level. Triangles are first binned into 16x16 tiles, before rasterized hierarchically onto 8x8 tiles and then onto pixel level.
  • Hierarchical rasterization is done the same way in the larrabee document. 4 wide SSE were used to rasterize a triangle to 4 pixels at a time.
  • Basic blinn-phong shading is supported and also accelerated with SSE.
  • Key data structure sizes and layouts are highly tuned to reach high performance.
  • Implemented pipeline stages include
    • Vertex Transformation
    • Homogeneous Clipping
    • Rasterization
    • Perspective Corrected Interpolation
    • Pixel Shading
    • Depth Test
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].