Giter Club home page Giter Club logo

avs's People

Contributors

aoki-marika avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

bytefun

avs's Issues

Cross Platform

Need to implement a proper way to create cross platform GLES contexts, instead of only supporting RPi framebuffers.

Text

Need a Text Drawable that draws strings with a given font.

Naming Scheme

Naming schemes for types/variables needs to be standardized. Currently I just copied what I was doing in C but snakecase looks weird in C++.

  • private_const
  • PUBLIC_CONST
  • privateVariable
  • PublicVariable

Sprite

Drawable subclass that draws textures from IFS.

Relies on #4 so textures can be loaded.

ByteBuffer Source

ByteBuffer needs to support reading from files as well as memory.

IFS

Need IFS support for charts and textures. Should read from a given file and provide a simple API to reading the file system, probably similar to the KML API.

Composite sprite

Need a CompositeSprite drawable that can draw multiples images from an atlas with one draw call, mainly for text.

Current API idea is like below:

CompositeSprite *sprite = new CompositeSprite();
sprite->SetAtlas(atlas);

CompositeSprite::Sprite sprites[] =
{
    {
        .X = 0,
        .Y = 0,
        .Image = “image”,
    },
    ...
};

sprite->SetSprites(sprites);

Each Sprite is auto sized to it’s image’s size. The sprites array may be a different type but oddly C arrays seems to be the best fit here.

Transforms

Interpolating transforms for Drawables and probably other classes like Camera.

Thinking something like the following.

Move to position for duration.

box->PositionTo(position, duration);

Delay ScaleTo for delay_duration (synchronous) then scale to scale for scale_duration.

box->Delay(delay_duration)->ScaleTo(scale, scale_duration);

Move to position for move_duration, then when that has completed scale to scale for scale_duration.

box->PositionTo(position, move_duration)->Then()->ScaleTo(scale, scale_duration);

Durations being in milliseconds.

Generic Atlas

Need a generic Atlas type to allow IFS and TTFs to generate atlas’ that can be used with the Sprite class when it’s implemented.

Scenes

Need a Scene class for navigation flow.

Should be able to Push new scenes, with an option to remove the now previous Scene or keep it so the pushed scene can Pop and return to the previous. If it should not be kept then it would be deleted upon pushing a new scene, after the exit animation finishes.

Generic Buffers

Need generic GLES buffers so they can be used for multiple data types (vertices, UV coordinates, etc.)

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.