raelr / snek Goto Github PK
View Code? Open in Web Editor NEWAn experimental Vulkan-based renderer written in C++.
License: zlib License
An experimental Vulkan-based renderer written in C++.
License: zlib License
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.
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.
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.
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.
The light billboards are just circles and look a little strange. Some alpha blending would make them look a little more realistic and would feel better to use.
In order to render 3D sprites (or Billboard sprites), we need to be able to load in images and create texture resources from them.
Add a renderer for drawing basic primitives (such as cubes, spheres, and capsules).
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.
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.
Currently, the renderer can handle storage buffers but is unable to handle both a storage and UBO buffers simultaneously. We need to fix this so that we can implement per-frame data.
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.
Renderpasses have a lot of initialisation data associated with them. It would be good to abstract them into a separate class so that they can have their own easy creation functions.
Currently we can only accept a single light in a scene. We should be able to set up a few lights in a scene (up to a certain limit). This only includes dynamic lights.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.