solenum / exengine Goto Github PK
View Code? Open in Web Editor NEWA C99 3D game engine
Home Page: https://oods.net
License: MIT License
A C99 3D game engine
Home Page: https://oods.net
License: MIT License
Hi, I recently try to load sponza scene as my test scene.
The scene file consists of two types of media, one is obj mesh file, the other one are images.
however, right now, the iqm tool chain not parser the mtl or usemtl to recognize material texture as the resource id later on.
so in my eyes, I should add some features that support mtl parser for obj format files. because only under this way, we probably gain texture id use you iqm loader.
Hey exezin, I used to join your IRC channel in past but nowadays nearly every gamer is on Discord. Did you ever consider to open a Discord server for your engine? Discord makes it way easier to share code snippets with Markdown and syntax highlighting, share images via drag&drop etc.
sudo apt-get install libopenal-dev
Where can I find and modify player properties?
I see you code at line 98 of iqm.c
the ex_frame_t_pose = NULL, not initialize before using in function ex_model_update_matrices .
above it is the first question.
the other one is skeleton may be the joint coordinate system of each bone? right?
I see your some of functions, the return type defined bool, however you alway use 0 or 1 as the return value.
maybe you should include #include <stdbool.h> , instead of 0 or 1 with true or false.
above all, just my personal advice.
last but not the least, I like you project.
Could ExEngine be back-ported to OpenGL ES 2.0 / WebGL (v1) to support older browsers and devices? If so, would it involve re-writing the shaders, or are there specific OpenGL ES 3.0 / WebGL2 calls being made by the engine?
Unfortunately all I'm getting is a black screen, it works fine in forward rendering mode and the imgui stuff still renders, not sure why this is happening so figured I'd let you know.
Would it be possible to have more examples whose code we can view (like that game with a ball on YouTube that you made, or the examples in your website)? What about documentation?
Right now, this engine seems to be a great idea but if you don't entirely know how to use it it's a bit pointless...
Looking forward to it
Pros:
single header lib in C
Cons:
lacks some features (?)
https://github.com/exezin/exengine/blob/7edbadecf833822138e7f4b2e20346b8c46e5728/src/exengine/render/shader.c#L4
https://github.com/exezin/exengine/blob/7edbadecf833822138e7f4b2e20346b8c46e5728/src/exengine/render/shader.c#L5
These two lines generate a compile warning
warning: missing braces around initializer [-Wmissing-braces]
I see that you check if the index of the values in the following lines:
https://github.com/exezin/exengine/blob/7edbadecf833822138e7f4b2e20346b8c46e5728/src/exengine/render/shader.c#L21
https://github.com/exezin/exengine/blob/7edbadecf833822138e7f4b2e20346b8c46e5728/src/exengine/render/shader.c#L26
Therefore I don't know if this will break the logic you have here. But I propose the following solution (it seemed equal on my system but maybe I am missing the change)
GLint ex_uniform_map[256][256] = {{0}};
GLint ex_uniform_locations[256][256] = {{0}};
I'm submitting this as an issue so you can double check if the shader logic is still intact with this change.
A command prompt window opens, and then becomes unresponsive immediately.
file: scene.c line:36, 37
memset(s->coll_tree->region.min, 0, sizeof(vec3));
memset(s->coll_tree->region.max, 0, sizeof(vec3));
file octree.c line:15, 16
memset(o->region.min, 0.0f, sizeof(vec3));
memset(o->region.max, 1.0f, sizeof(vec3));
I think default we can set to 0.0 both sides.
On a fresh build approximately 10 minutes before submitting this, the game
executable fails to load data/conf.ini
and data/shaders/text.glsl
This is on a relatively recent (last updated ~48 hours ago) build of Arch with GCC version 11.2.0 and SDL version 2.0.20-2. On the off chance this matters, the CPU is a Ryzen 5 2500u and the program was launched using the internal GPU for rendering
If I missed any relevant information, do let me know.
Curious if dirlight
and ssao
that were moved to src/exengine/render/legacy
are coming back? Seems from the commit history a refactoring effort might have stalled, but hopefully not forever...
Excellent project and code quality, btw. Finding it very nice to read and use, so thanks for all the effort :)
These are (stupidly) not cached currently, causing varied performance on certain hardware. Especially the web port.
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.