skycoin / cxfx

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Disclaimer : It’s all wip, api will change until it matures.

Cx game library.

Installation :

Install cx
mkdir -p ~/go/src/github.com/SkycoinProject/
cd ~/go/src/github.com/SkycoinProject/
git clone https://github.com/SkycoinProject/cx
cd ~/go/src/github.com/SkycoinProject/cx
git checkout develop
Install cxfx :
mkdir -p ~/go/src/github.com/SkycoinProject/
cd ~/go/src/github.com/SkycoinProject/
git clone https://github.com/SkycoinProject/cxfx
Run cxfx on desktop :
cd ~/go/src/github.com/SkycoinProject/cxfx
make tuto0
...
make tuto7
...
make skylight
Run cxfx on android :
cd ~/go/src/github.com/SkycoinProject/cxfx
make tuto0 TARGET=android
...
make tuto7 TARGET=android
...
make skylight TARGET=android
Controls in tutorials & skylight :

shift+(left/right) : Switch camera

ctrl+(left/right) : Switch rendered model

up/down/left/right (or wasd) + mouse : Control the camera

alt+enter : Toggle fullscreen

space : Throw

escape : Exit

WIP :

  • math:
    • matrix
      • basic matrix operations
    • vector
    • quaternion
    • spline
  • graphics:
    • textures:
      • texture 2d
        • generate mipmaps
        • load mipmaps
      • texture cube
        • generate mipmaps
        • load mipmaps
      • texture array
      • texture 3d
      • texture compression
      • srgb
    • shaders:
      • shader permutations
      • shader hot reload
      • shader reflection (parse glsl and extract uniforms)
      • shader uniform binding in gui
    • rendering:
      • physically based renderer
        • kronos implementation
          • debug
        • diffuse irradiance
        • specular irradiance
        • hdr maps
        • custom brdf
        • realtime cubemap
      • normal map
      • emmissive map
      • occlusion map
      • output scene depth in a texture
      • multiple render targets
      • order independent transparency
      • particles
        • moving emitters
      • anti aliasing
      • atmospheric scattering
    • terrain
  • audio:
    • wav 8bps/16bps
    • wav f32/f64
    • 3d audio
    • audio streaming:
    • compressed audio
  • phycics:
    • collision/intersection/response
      • ellipsoid/triangle
      • ellipsoid/ellipsoid
      • ray/ellipsoid
      • ray/OBB
      • ray/AABB
    • gravity
    • torque
  • cameras:
    • free camera
    • first person camera
    • third person camera
    • smooth motions
    • cinematic camera
  • gltf support (loader/renderer/exporter):
    • flat mesh
    • textured mesh
    • hierarchical mesh
    • pbr materials
    • skinning
    • animations
    • cameras
    • lights
    • exporter
  • 2d gui toolkit:
    • game screens
    • label
    • picture
    • scrollbar
    • list
    • json serialization
  • application:
    • resize events
    • toggle fullscreen
    • cli
    • mobile:
      • virtual keyboard
      • ios
      • android
  • skycoin:
    • cxo
    • cxchain

How to contribute :

  • testing the tutorials
  • writing documentation for the tutorials code
  • writing tutorials
  • writing apps with cxfx
  • writing documentation for the lib (should be driven by the tutorials)
  • feedback regarding the usage (what needs to be improved, what functionalities are missing etc)
  • 3d assets (synth 3d model and animations, skycoin hardware...)
  • audio assets (synth sound pack)

Tutorials :

make tuto0

make tuto1

make tuto2

make tuto3

make tuto4

make tuto5

make tuto6

make tuto7

make tuto8

make tuto9

make tuto10

make tuto11

About


Languages

Language:Makefile 50.3%Language:GLSL 49.7%