Git Product home page Git Product logo

snek's People

Contributors

jonjondev avatar raelr avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

snek's Issues

[FEATURE] Add global lighting settings.

Currently we can set a bunch of dynamic lights in a scene, however we don't have a global lighting setting. This would be useful in ensuring that diffuse objects can be seen by default.

Optimize DEBUG build system for MacOS

Currently, the DEBUG build process for MacOS is quite slow as it requires duplicate repositories to be pulled and built. There needs to be a way to only build the dependencies once and link them all together.

[FEATURE] Add Text Rendering

In order to display information we need a way to create render text onto a screen. This can only be done once #18 is complete.

[REFACTOR] Refactor the Buffer Class

Currently, buffers are a bit of a mess. Buffer creation requires the usage of a struct in combination with a number of static functions. This makes buffer creation a little difficult to understand and unintuitive to use. It'd be great to have a class which has a simple API for allocating vertex, uniform, and index data.

[FEATURE] Add Texture Loading

In order to render 3D sprites (or Billboard sprites), we need to be able to load in images and create texture resources from them.

CICD won't build macOS due to SDK download no longer being available

Currently, the entire project depends on the Vulkan SDK to be available to build. This creates a dependency that can't easily be replicated in a CICD environment.

At the moment, the CICD system will manually download the SDK to the VM and run the tests from there. This works for Windows and Linux, however MacOS breaks due to a change in the format the SDK is provided in. As such, a new solutions needs to be found to make this work correctly.

This issue is for changing the build system to pull in the Vulkan dependencies and manually build them. This has the following advantages:
a) Allows the renderer to be build and tested in CICD.
b) Allows Vulkan to be shipped without the end user requiring the Vulkan SDK.

[BUG] Model loading can result in lost vertices

Sometimes when loading in 3D models, a vertex will be lost in the extraction process and result in some models loading in incorrectly. We'll need to re-evaluate the model loading functions and ensure all vertices are being loaded in correctly.

[REFACTOR] Refactor the SwapChain Class

The SwapChain class is an incredibly important class that is currently filled with Vulkan objects and initialisation structs. It'd be incredibly helpful to abstract parts of these into helper classes and functions which can make the entire swapchain class cleaner and easier to read.

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.