golle / titan Goto Github PK
View Code? Open in Web Editor NEWTitan, Game Engine in .NET 8 C# 11 and DirectX 12
License: MIT License
Titan, Game Engine in .NET 8 C# 11 and DirectX 12
License: MIT License
Create a Immediate mode GUI renderer, this should contain a queue where all items are stored and batched for rendering.
Even if it's "immediate" we should cache everything before submitting it for rendering so we can have multiple systems rendering these UIs.
gui.Button|Text|Etc -> Pushed on a frame-allocated arena -> sorted and batched at the end of the frame -> submitted to the GPU.
The editor should be disabled when a game is running
The button should be extremely simple to implement, and the size should be defined either by the length of the text on the button or specified size.
The return value of the button is either a bool or a button state.
if(_gui.Button("Click me"))
{
... do the stuff
}
List the entities in the world
Keep it simple, just a regular list no tree structure or anything fancy
Fails to read memory of allocated resources when the device is disposed.
it doens't happen every time, so my guess is that something is deallocated in the wrong order
The sprite renderer will render directly to the backbuffer today. This was a simple solution to get it up and running without a complex render architecture.
It's time to separate this from the backbuffer and create a full pipeline. To support this we must be able to render to textures/framebuffers and have a fullscreen shader.
Create a Titan game project from the Asset editor
If we look at frameworks like WPF and Avalonia they support different layouts like Grid, StackLayout, etc.
They are a bit more complex than what we need, but we should have some automagic support for it.
The current implementation will convert all textures to 32bpp, the DXGI format R8G8B8A8_UNORM.
This will scale up all textures and they'll use more memory.
Create a simple outline renderer to make sure the current renderer setup works
How should the GUI scale when the Window is resized?
Possible options
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.