Giter Club home page Giter Club logo

tinyfx's Introduction

TinyFX

Small OpenGL ES3.1+ renderer inspired by BGFX. Currently master does not work on GLES2, use gles2 branch instead. This should be fixed in the future.

Features

  • Reorders draw calls to minimize state changes and avoid overdraw (in progress)
  • Deals with the dirty details of the graphics API for you
  • Bring-your-own-framework style renderer. Doesn't tell you how to architect your program
  • Tracks and resets state for you between draws
  • Out-of-order submission to views (i.e. render passes)
  • Uniforms separate from shader objects, all shader programs with matching uniforms are updated automatically
  • Compute shaders
  • OpenGL ES 3.1+ (ES2 supported in gles2 branch)
  • OpenGL 4.3+ core (as low as 3.1 should work, but isn't regularly tested)
  • Supports stereo rendering for VR (integration is up to you, but the tools are there!)

FAQ

Who is this for?

Anyone sick of remembering when you need barriers, implementing a state tracker for the 50th time, integrating bigger deps than your entire codebase or who just wants something less of a pain to use than OpenGL is.

Why not use BGFX?

BGFX is excellent, but we have different priorities and scope.

Using TinyFX

  1. Include tinyfx.c in your build
  2. Add the location of tinyfx.h (and tinyfx.hpp if you use the C++ API) to your include paths
  3. #include <tinyfx.h> or #include <tinyfx.hpp> and start using tfx after creating an OpenGL context (GLFW and SDL are good for this!). Remember to call tfx_set_platform_data with your target GL version first!

Examples

Hello Triangle (examples/01-triangle.c)

Sky + Camera (examples/02-sky.c)

Water

tinyfx's People

Contributors

shakesoda avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.