computer graphics - doubility-sky/daydayup GitHub Wiki

Computer Graphics is a sub-field of computer science which studies methods for digitally synthesizing and manipulating visual content. Although the term often refers to the study of three-dimensional computer graphics, it also encompasses two-dimensional graphics and image processing.
Computer graphics studies the manipulation of visual and geometric information using computational techniques. It focuses on the mathematical and computational foundations of image generation and processing rather than purely aesthetic issues. Computer graphics is often differentiated from the field of visualization, although the two fields have many similarities.

Learn

OpenGL

WebGL

  • (Web) Graphics Related Lessons
  • pixi.js: The HTML5 Creation Engine: Create beautiful digital content with the fastest, most flexible 2D WebGL renderer.
  • three.js, JavaScript 3D library. https://threejs.org/
    The aim of the project is to create an easy to use, lightweight, 3D library with a default WebGL renderer. The library also provides Canvas 2D, SVG and CSS3D renderers in the examples.
  • WebGLStudio.js is an open-source, browser-based 3D graphics suite. You can edit scenes and materials, design effects and shaders, code behaviours, and share your work - all within a browser using standard web technologies.
  • Tiny-Canvas is a lightweight minimal implementation of a batched and stack matrix based canvas similar to HTML5 Canvas2D with WebGL backend.

WebGPU

WGSL

Libraries

  • Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
  • bkaradzic/bgfx, Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
  • Wicked Engine is an open-source C++ engine focusing on modern rendering techniques and performance. Use this as a framework for your graphics projects, or learning. Some programming skills are required for the best experience, but some simple tools like an Editor are also included. It is free to be used for anything good.
  • Since 2001, OGRE has grown to become one of the most popular open-source graphics rendering engines, and has been used in a large number of production projects, in such diverse areas as games, simulators, educational software, interactive art, scientific visualisation, and others.
  • Magnum, Lightweight and modular C++11/C++14 graphics middleware for games and data visualization https://magnum.graphics/
  • zauonlok/renderer A shader-based software renderer written from scratch in C89 https://zauonlok.github.io/renderer/
  • floooh/oryol A small, portable and extensible C++ 3D coding framework
  • OpenSubdiv is a set of open source libraries that implement high performance subdivision surface (subdiv) evaluation on massively parallel CPU and GPU architectures

OpenCV

OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products. Being a BSD-licensed product, OpenCV makes it easy for businesses to utilize and modify the code.

Projects

Tools

Resources