Skip to content
No description, website, or topics provided.
Branch: develop
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
resources Add oclusion map support Mar 19, 2019
screenshots
src
tutorials
.gitignore Initial commit Feb 26, 2019
README.md

README.md

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

Cx game library.

Installation :

Install patched cx (cxfx temporarly relies on unpublished cx modifications, this will be fixed in the future):
mkdir -p ~/go/src/github.com/skycoin/
cd ~/go/src/github.com/skycoin/
git clone https://github.com/asahi3g/cx/
cd cx
git checkout develop_cxfx
make build
Install cxfx :
mkdir -p ~/go/src/github.com/skycoin/
cd ~/go/src/github.com/skycoin/
git clone https://github.com/skycoin/cxfx
cd cxfx/tutorials
make 6_model
Controls in tutorials :

ctrl+(left/right) : Switch rendered model

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

alt+enter : Toggle fullscreen

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
      • 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
    • blockchain

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 0_colored_quad

make 1_textured_quad

make 2_text

make 3_perspective

make 4_camera

make 5_batch

// WIP skyminer
make 6_model

// WIP pbr
make 6_model

make 7_menu

TODO : add screenshot

make 8_sound

TODO : add screenshot

make 9_button

make 10_dialog

You can’t perform that action at this time.