Coder Social home page Coder Social logo

ashton's Introduction

Ashton

Description

Add extra visual effects to the Gosu game-development library, utilising OpenGL shaders (using shader model 1.0, for maximum compatibility) and frame-buffers.

"Ashton" is named after Clark Ashton Smith, an fantasy/horror author with a particularly colourful imagination.

Usage

gem install ashton --pre

Features

  • Gosu extensions

    • {Gosu::Color} - Converting to and from opengl values.

    • {Gosu::Font} - Apply shader to draw operations.

    • {Gosu::Image} - Apply shader to each draw operation or group of draws. Manipulation, such as flipping and scaling.

    • {Gosu::Window} - Post-processing with shaders. Converting to image.

  • Ashton

    • {Ashton::Texture} - Single texture (compared to Gosu::Image which uses a spritesheet) which can be drawn directly onto and drawn to the Window.

    • {Ashton::Lighting::Manager} - Manages and combines the lighting from {Ashton::Lighting::LightSource} objects.

    • {Ashton::Lighting::LightSource} - A single light-source that illuminates and whose can be blocked by shadow-casting objects.

    • {Ashton::ParticleEmitter} - Generates, manages and displays particles.

    • {Ashton::PixelCache} - Cached image data attached to an {Ashton::Texture} or {Gosu::Image}.

    • {Ashton::SignedDistanceField} - A signed distance field based on a an image mask.

    • {Ashton::Shader} - Wrapper around a GLSL shaders, Supports vertex and fragment shaders. Small shader/function library.

    • {Ashton::WindowBuffer} - Texture that is the same size as the Gosu Window that can capture the contents of the screen.

Requirements

  • OSX/Linux: Requires OpenGL library be installed.

  • {Ashton::Shader} and {Ashton::Lighting} or anything else using shaders, require OpenGL 2.0.

Similar Libraries

  • TexPlay - Deals with Gosu::Image manipulation, such as per-pixel editing and drawing. It is compatible with, and complementary to, this gem.

Third party

  • OpenGL static library (in Windows binary gem) and headers.

  • GLee source.

  • Various trivial shaders - "randomly found on the Internet" :$

  • Classic and Simplex noise functions - Copyright (C) 2011 Ashima Arts - MIT license.

    • classicnoise2d.glsl - 2D Classic Perlin noise implementation - cnoise(vec2)
    • classicnoise3d.glsl - 3D Classic Perlin noise implementation - cnoise(vec3)
    • classicnoise4d.glsl - 4D Classic Perlin noise implementation - cnoise(vec4)
    • noise2d.glsl - 2D Simplex noise implementation - snoise(vec2)
    • noise3d.glsl - 3D Simplex noise implementation - snoise(vec3)
    • noise4d.glsl - 4D Simplex noise implementation - snoise(vec4)
  • Bloom filter by myheroics

    • bloom.frag
  • Shockwave by Crystalin

    • shockwave.frag
  • Radial Blur by gamerendering.com

    • radial_blur.frag
  • Lighting based on, but much optimised from, Catalin Zima's shader based dynamic shadows system.

ashton's People

Contributors

bil-bas avatar charlescui avatar jlnr avatar kyrylo avatar uriasn avatar

Watchers

 avatar  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.