Giter VIP home page Giter VIP logo

boxlet's Introduction

Boxlet

Boxlet is a module used alongside pygame for quickly and easily setting up new projects. The module contains an simple, but effective, entity system and extensive classes for creating a rendering system in OpenGL or Vulkan.

The entity system features

  • function tracking for
    • fixed time interval updates
    • variable time interval updates
    • pygame event triggers
    • render events
    • on destroy events
  • per class/function priority call order
  • getting a list of entities of a given subclass

The module is still in the early stages of development, but is still usable. Feedback or contrubutions would be appreciated.

Rendering Systems

The OpenGL and Vulkan implementations are designed so that you can create an entire rendering system with very few lines of code AND without touching the respective graphics libraries. You can still replace individual parts of the built in classes with your own versions to better suit your application's needs.

Each version will eventually have their own README file that will give an overview of how the rendering systems are used.

OpenGL

The opengl classes require PyOpenGL ( https://github.com/mcfletch/pyopengl ) and work with Windows and Mac. Though linux needs some testing. Also, as a reminder, Mac is either limited to versions 3.3 or 4.1 of OpenGL.

Vulkan

The vulkan classes requires the Vulkan SDK and the Python binding for Vulkan by realitix ( https://github.com/realitix/vulkan ). The current implementation only seems to work with Windows at the moment. A most of the code I started with came from the youtube channel GetIntoGameDev ( https://www.youtube.com/watch?v=2NVlG9TFT1c&list=PLn3eTxaOtL2M4qgHpHuxY821C_oX0GvM7&index=2 ), but it has been heavily modified and extended to better fit the renderer's needs and normal python conventions.

boxlet's People

Contributors

werxzy avatar

Stargazers

 avatar  avatar

Watchers

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