C++ computer-graphics

Open-source C++ projects categorized as computer-graphics

Top 23 C++ computer-graphic Projects

computer-graphics
  • taichi

    Productive, portable, and performant GPU programming in Python.

  • Project mention: CERN Root | news.ycombinator.com | 2024-06-01

    The haughtiness is not for nothing. Since Dec 2023, they made a lame excuse that Pytorch didn't support 3.12: https://github.com/taichi-dev/taichi/issues/8365#issuecommen...

    Later, even when Pytorch added support for 3.12, nothing changed (so far) in Taichi.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • tinyrenderer

    A brief computer graphics / rendering course

  • Project mention: How to Become a Software Engineer ? | dev.to | 2024-04-23

    C++: How OpenGL works: software rendering in 500 lines of code

  • blender

    Official mirror of Blender

  • Project mention: I fully support this. | /r/KerbalSpaceProgram | 2023-06-24

    Please try looking through some large open source projects and contributing major contributions by familiarizing yourself with the code base, learning multiple programming languages, and not having major bugs in your code. I'd imagine you wouldn't want to do this.

  • Open3D

    Open3D: A Modern Library for 3D Data Processing

  • Project mention: Does anyone else agree that the links to the latest development version of Open3D don't work? | /r/cscareerquestions | 2023-07-10

    I was going to file a bug about another issue, but I have to download the development version. This is why I want this solved quickly. None of the links seem to work: https://github.com/isl-org/Open3D/issues/6259

  • tinyraytracer

    A brief computer graphics / rendering course

  • Project mention: But can it raytrace? | /r/termux | 2023-10-16

    Source: https://github.com/ssloy/tinyraytracer

  • VulkanTutorial

    Tutorial for the Vulkan graphics and compute API

  • yocto-gl

    Yocto/GL: Tiny C++ Libraries for Data-Driven Physically-based Graphics

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • tinykaboom

    A brief computer graphics / rendering course

  • OpenShadingLanguage

    Advanced shading language for production GI renderers

  • fluid-engine-dev

    Fluid simulation engine for computer graphics applications

  • MaterialX

    MaterialX is an open standard for the exchange of rich material and look-development content across applications and renderers.

  • Anime4KCPP

    A high performance anime upscaler

  • Blender-FLIP-Fluids

    The FLIP Fluids addon is a tool that helps you set up, run, and render high quality liquid fluid effects all within Blender, the free and open source 3D creation suite.

  • Project mention: How to stop fluid simulation from exploding? | /r/blenderhelp | 2023-07-09

    If all else fails, you may want to consider a premium addon like FLIP Fluids, which in my experience feels more stable than the default fluid sim, though it may be a bit costly. Consider trying the demo.

  • Easy3D

    A lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data

  • 3DWorld

    3D Procedural Game Engine Using OpenGL

  • Project mention: Generating Master of Orion 2 like starmap | /r/proceduralgeneration | 2023-07-05

    You mean you want to draw the individual stars themselves? It's likely just a texture, probably white so that it can be colored differently for each star. This is how I've done it. Try a Google image search for "flare texture". You can find some of the ones I used here (flare*.jpg): https://github.com/fegennari/3DWorld/tree/master/textures

  • antons_opengl_tutorials_book

    Anton's OpenGL 4 Tutorials book - Demo Code

  • SoftGLRender

    Tiny C++ Software Renderer / Rasterizer, and implements OpenGL and Vulkan renderers for comparison

  • cinolib

    A generic programming header only C++ library for processing polygonal and polyhedral meshes

  • towr

    A light-weight, Eigen-based C++ library for trajectory optimization for legged robots.

  • StratusGFX

    Realtime 3D rendering engine

  • Project mention: Show HN: Realtime Global Illumination on Older Hardware [video] | news.ycombinator.com | 2023-07-24

    Hi everyone,

    A few months ago I posted here on HN about my open source 3D rendering engine. Since then I've been working on the new version which implements additional modern graphics techniques while still running on older GTX 10 series hardware.

    This includes emission mapping, FXAA+TAA, better mesh LOD generation and selection, but the biggest one was an overhaul of the global illumination system.

    The global illumination overhaul was the biggest aspect of the new release. The goal was better visuals than the previous version while maintaining equal performance. I wanted to outline how it works and what I had to do to make it work.

    = How It Works =

    * Direct lighting: Handled using standard rasterization pipeline with cascaded shadow mapping

    * 2nd bounce of light: Approximated by a set of virtual point lights

    * 3rd bounce of light: Not directly simulated but shadows are tapered to prevent harsh cutoff. VPLs can also be placed in open spaces to help spread light where it wouldn't be able to go without a true 3rd bounce.

    * Adaptive sampling: maximum of 4200 virtual lights per frame are selected. Each pixel computes lighting using between 1 and 10 random samples based on object's distance to camera and whether or not the lighting history was recently discarded for that pixel (recently discarded = temporarily sample more heavily).

    * Spatial resampling: each pixel can look at a few of its neighbors each frame. If the neighbor is a good fit it will merge that neighbor's samples into its own to increase the effective sample count.

    * Denoise and temporal accumulation: 2 level wavelet denoiser combined with temporal accumulation to get rid of most noise and stabilize the image even when in motion.

    = Maintaining Performance =

    There are a few key ways that this version is able to both look better yet have the same performance as the previous version on the same hardware.

    1) Reuse as much data as possible between frames. This is where the temporal accumulation aspect comes into play.

    2) VPLs are updated slowly over many frames to prevent any single frame from halting the system.

    3) With thousands of VPLs per frame, they can't all be factored in for each pixel. It's too much work. The approach was to instead sample from the set of VPLs randomly, reuse as much data spatially as possible, denoise the result and temporally accumulate 1 second worth of frames.

    I'm very happy with the results! Roughly the same performance as the previous version but better visuals.

    GitHub (open sourced under the MPL-2.0 license): https://github.com/KTStephano/StratusGFX

    Image Showreel: https://ktstephano.github.io/portfolio

    High-Level Tech Breakdown: https://ktstephano.github.io/rendering/stratusgfx/frame_anal...

  • Imath

    Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics

  • gerbolyze

    Directly render SVG overlays into Gerber and Excellon files

  • GraphiteThree

    Experimental 3D modeler

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

C++ computer-graphics discussion

Log in or Post with

C++ computer-graphics related posts

  • Does anyone else agree that the links to the latest development version of Open3D don't work?

    1 project | /r/cscareerquestions | 10 Jul 2023
  • How to stop fluid simulation from exploding?

    1 project | /r/blenderhelp | 9 Jul 2023
  • Generating Master of Orion 2 like starmap

    1 project | /r/proceduralgeneration | 5 Jul 2023
  • Map Generation by Diamond Square with Shading and Raycasted Shadows.

    1 project | /r/proceduralgeneration | 3 Jul 2023
  • Is there any way to get Flip Fluids for free?

    1 project | /r/blenderhelp | 22 Jun 2023
  • How to manage a buffer containing objects of varying size? For sparse chunk loading/unloading

    2 projects | /r/opengl | 16 Jun 2023
  • Procedurally Generated Spider Model and Animation

    1 project | /r/proceduralgeneration | 3 Jun 2023
  • A note from our sponsor - SaaSHub
    www.saashub.com | 14 Jun 2024
    SaaSHub helps you find the best software and product alternatives Learn more →

Index

What are some of the best open-source computer-graphic projects in C++? This list will help you:

Project Stars
1 taichi 24,930
2 tinyrenderer 19,663
3 blender 11,921
4 Open3D 10,682
5 tinyraytracer 4,928
6 VulkanTutorial 3,030
7 yocto-gl 2,773
8 tinykaboom 2,322
9 OpenShadingLanguage 2,042
10 fluid-engine-dev 1,819
11 MaterialX 1,762
12 Anime4KCPP 1,761
13 Blender-FLIP-Fluids 1,623
14 Easy3D 1,288
15 3DWorld 1,095
16 antons_opengl_tutorials_book 941
17 SoftGLRender 940
18 cinolib 844
19 towr 836
20 StratusGFX 629
21 Imath 355
22 gerbolyze 341
23 GraphiteThree 208

Sponsored
Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com