concubicycle / runshoot Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
Need devops things on this.
Tinygltf is meant to make it really straight forward to plug into opengl. It has the concept of primitive that have attributes. Need to figure out a good way to integrate.
In ECS, each entity currently has an accessor that keeps a map of component bit to the memory address of the component for that entity.
This kind of defeats the purpose of the whole system, since each entity now has some heap data that it uses, and there's no cache coherence.
Come up with a way of storing component offsets within the entity's memory chunk, and implement an accessor for that.
Could use position of b plus combined_velocity * t_first
The static lib for assimp is massive. It's only a debug build, but still. There's a way to specify whether or not to build individual importers. We really only need glTF2, but should also support:
OBJ
FBX
map of vector to a predicate that takes entity.
For now, just hard coding.
archetype_pool.hpp
The alignment handling is wrong. alignment is calculated on ptr_offset, but should be calculated for the actual raw aligned address + ptr_offset. This will be different for different addresses.
The allocator wraps debug output in a #define in hacky way.
Like Unity's prototypes, you should be able to create files for some 'preset' entities, which have a certain archetype, and are stored in files like spaceship.json. Entity factory should then be able to read these, and give you an initialized entity.
This should have the ability to pre-cache all prototypes used in a scene, so that we have a bunch of json objects, which we don't have to read at runtime.
See creator registration from lectures. It would be pretty good to support something like:
entity_world.register_creator(archetype_id, my_entity_creator);
So, you could have both json prototype files that specify how to build that entity, and hard-coded objects that might have preference. Serialized files can contain a entity creator id.
Keep data inheritance in mind - it's good to have prototypes that refer to other prototypes, but override some values.
See todo.
ExternalProject_Get_property can be used to check target properties. maybe able to replace the platform-specific conditionals in add_glfw.cmake and add_assim.cmake with it.
This is a good use case for assignment operator. simply replace pointer, id and accessor, and should be good to go.
Figure out why that is.
The snippet for calculating alignment adjustment is all over the place now. Move it to a util.
Currently, the client has to know about scene_loaders (or entity_component_loader's, after scene loader has been split up). The client has to fill the map of component loaders with their own loaders, and the map of bit_metas in component_meta with the metas for their custom compoents.....
I know how to do all this, but another programmer will never know. We need an interface that the client has to implement, which explicitly requires all this startup stuff. In particular:
A method for taking the bitshift_to_component_loader map, and filling it with custom loaders for custom components.
A method for taking component_meta::bit_metas, and filling that with custom component metas as well.
Just going to use spdlog right now. Would be good to wrap it maybe.
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.