---
# System prepended metadata

title: '= shapes'

---

# Examples to implement for **cgtools**

### Unsorted

- ✅ triangle
- ✅ instanced 
- ❌ chrome extension - Vitalii
- ✅ Spinning cube size optimization

### Textures

- ✅ sprite animation - Vladyslav
- ✅ using video as texture - Vladyslav
- 🔁 text drawing - Yevhenii
- ❌ array textures - Vladyslav
- ❌ render to texture - Vladyslav

### Geometry

- ❌ 2d shapes
- ❌ 3d shapes
- ❌ Square heightmap
- ❌ Hexagonial heightmap

### Picking

- ❌ Picking different shapes with math
- 🔁 Picking different shapes with GPU - Oleksandr
- ❌ Dragging objects

### Meshes

- ✅ loading obj
- ❌ loading gltf

### Raytacing

- ✅ Doom-like rendering - Oleksandr
- ❌ 2D SDF Interactive Cheatsheet
- ❌ 3D SDF Interactive Cheatsheet

### Physics

- ❌ 2D collisions - Oleksandr
- ❌ 3D collisions

### Optimization and Benchmarking

- ❌ Thousands meshes
- ❌ Thousand sources of lights

### Shaders

- ✅ Simple PBR
- ❌ Light Interactive Cheatsheet
- 🔁 deferred shader: 50 light sources - Oleksandr
- ❌ bloom
- ❌ using WGSL shader
- ❌ using GLSL shader
- ✅ 2D filters Interactive Cheatsheet
- ❌ Noises Interactive Cheatsheet - Yevhenii
- ❌ Marching Cubes - Yevhenii
- ❌ Metaballs - Yevhenii
- ❌ Particles - Yevhenii
- ❌ Area light source - Yevhenii
- ❌ Shadow Mapping
- ❌ Dynamic Reflection Cubemap
- ❌ Dynamic Ambient Occclusion

### Gizmos and Decorators

- ❌ Arrows to move
- ❌ Arrows to scale
- ❌ Rotate Gizmos
- ❌ Draw Normals
- ❌ Draw Wireframe

### Animation

- ❌ Vertex morphing between 2 states
- ❌ Skeletal animation
- ❌ Inverse Kinematics

### Cameras and Transformation

- ❌ 2D Transormation Interactive Cheatsheet
- ❌ 3D Transormation Interactive Cheatsheet
- ❌ Rotate around control
- 🔁 3D FPS control - Oleksandr
- ❌ 2d control
- ❌ 2 Viewports: camera view and abstract view to see camera
- ❌ Switch between orthographic / perspective camera and differen controls

### Generators

- ❌ Tree Generator -- https://drajmarsh.bitbucket.io/tree3d.html
- 
