Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Anime4kcpp | 1,383 | 10 months ago | 37 | mit | C++ | |||||
A high performance anime upscaler | ||||||||||
Randomx | 1,232 | 19 days ago | 25 | bsd-3-clause | C++ | |||||
Proof of work algorithm based on random code execution | ||||||||||
H2o4gpu | 421 | 2 years ago | 1 | March 23, 2018 | 152 | apache-2.0 | Python | |||
H2Oai GPU Edition | ||||||||||
Paper_checking_system | 311 | 2 months ago | gpl-2.0 | C# | ||||||
基于C#和C++开发的文本查重/论文查重系统,一亿字次级论文库秒级查重。关联:查重算法、数据去重、文档查重、文本去重、标书查重、辅助防串标、作业查重、duplicate check | ||||||||||
Primecount | 282 | 1 | 22 days ago | 4 | July 08, 2022 | 4 | bsd-2-clause | C++ | ||
🚀 Fast prime counting function implementations | ||||||||||
Libpopcnt | 234 | 2 years ago | bsd-2-clause | C | ||||||
🚀 Fast C/C++ bit population count library | ||||||||||
Khiva | 186 | 2 years ago | 22 | mpl-2.0 | C++ | |||||
An open-source library of algorithms to analyse time series in GPU and CPU. | ||||||||||
Pytorch Nmf | 173 | 4 months ago | 4 | March 28, 2021 | 5 | mit | Python | |||
A pytorch package for non-negative matrix factorization. | ||||||||||
Deslantimg | 101 | 2 years ago | mit | C++ | ||||||
The deslanting algorithm sets text upright in images. Python, C++ and OpenCL implementations provided. | ||||||||||
Cpurasterizer | 92 | 2 years ago | 5 | bsd-2-clause | C++ | |||||
CPU Based Rasterizer Engine |
Efficient CPU based rasterizer
CPU implementation of a very efficient rasterizer which utilizes AVX2
instructions and lock-free multi-threading programming. Using tiled rendering the program consumes 8 pixels at the same time, which together with std::execution
threading library makes it very fast and robust. The viewer of the project is a very simple OpenGL applicatoin which renders a texture to a quad. The texture is generated by the CPU Renderer.h
class. The pipeline contains most of the modern GPU rasterizers stages.
Current development is available under project. Discussion about the project is available here.
Implemented stages include:
- Vertex Shader
- Clipping (SutherlandHodgman algorithm)
- Rasterization (Larrabee paper)
- Perspective Corrected Interpolation
- Fragment Shader
- Depth Testing
Except rasterization pipeline the project contains serveral additional features. (More features will be developed soon)
std::execution
etc.)All tests were done on CPU Intel i4790k with 4 cores. 60 fps is the maximum for GLFW window.
Scene | Triangles | Resolution | Shader | Filter | FPS |
---|---|---|---|---|---|
Boy | 85k | 1280x720 | Phong | Nearest | 35.2 |
Bedroom | 1490k | 1280x720 | Phong | Nearest | 10.1 |
Panther | 2004k | 1280x720 | Phong | Nearest | 6.3 |
All dependencies needed for the project can be downloaded using windows_install.bat
for Windows or linux_install.sh
for Linux. The project has Visual Studio 2019
solution and CMake project
.
git-lfs
must be installed in order to fetch scenes repository.
The scene description and assets are adapted from GLSL-PathTracer project [4]. The scenes repository will be automatically cloned during the installation process.
Rasterizer/Assets/PBRScenes/
bedroom/
coffee_cart/
HDR/
bedroom.scene
coffee_cart.scene
...
[0] Optimizing the basic rasterizer
[1] Rasterization on larrabee
[2] Rasterization practical implementation
[3] EDXRaster