https://github.com/Weather-OS/TraceRayer Not fully complete yet
I'm also looking for better name suggestions.
82 messages · Page 1 of 1 (latest)
https://github.com/Weather-OS/TraceRayer Not fully complete yet
I'm also looking for better name suggestions.
the code looks hard to maintain and is messy
Exactly which parts would you consider “messy”?
I get the "Hard to maintain" part, yes. Because I'm layering several code architectures on top of each-other (COM on GObject) but I don't understand the "messy" part.
What is the work of this code? (I don't know much about c and c++)
Nothing interesting yet. I'm gradually developing this.
My idea is that this whole engine would be somewhat like blender except being very modular. Developers would create client code that would be compiled into individual libraries and be ran on this engine (I may make my own scripting language as well if I reach that point in my CS career).
A sample client code would be: https://github.com/Weather-OS/TraceRayer/blob/master/Source/Core/Splash/SplashWindow.cpp
Each part of the engine would be split into their own libraries (like comasync and comui) so that I can make an SDK out of this.
You meant that you made a engine which will create a website using lib of c and c++
No it's a game engine. sort of
on which game exactly?
nothing. it's just going to be an engine...
I mean I may use it to make my own game at some point
@round cosmos are you from india?
no
I'm from Canada.
I don't understand how that would relate to anything though.
no i want to get some tipps how to join a university in canada
so can we message in personal chat
?
I have no clue how immigrants can apply to universities here but I assume if you get a student visa and take something like an IELTS exam to determine your english proficiency, you could apply to a university here. From what I've heard, most Indians apply to community colleges here instead because they are readily available and cheap, but your situation could be different.
what do you mean by community college?
Lower tier, easier to get in colleges meant for international students who either can't afford private institutions or don't have a strong academic record.
At least from what I've heard. I don't study at these colleges.
so where do you study?
Can't disclose that, sorry.
ok that's no issue
but i have both situation no money no academic record
I'm pretty sure the minimum academic requirement to apply to a community college here is for you to have successfully completed high school. I don't think they care much about how well you did in there.
ok can you suggest some comunnity college which needs less money or no money
or which can enroll me
and in india there is schooling upto 12th class only
no clue. you could hire a consultant and a travel attorney to assess your situation or you could do your own research through searching the web.
I'm getting my bachelors soon.
third year technically.
ohh so soon u are going to graduate
I'm going to pursue masters as well.
can we become friend on discord?
sorry. I don't usually accept friend requests unless I know you irl
wdym by irl?
in real life
ohk that is wise decision
but i am a 11th class student
and i am not a** hacker**
Yeah I don't think any college or university from anywhere around the world would enroll anyone without a hs diploma. The ones that do usually have 0 accreditation, or are sham colleges.
ik ik i am just asking for making pathway to my future college
btw are you a man?
excuse me?
I meant ... are you a male or female?
yeah that's quite a personal question you're asking...
ik but i should know to whom i am talking becuz some things may hurt you if you are a female that's why i am asking
sorry for this question if it hurts you
r u there @round cosmos ?
sorry
sorry @round cosmos sorry for the question
plz pardon me for my words 🙏🥺
Usually you wanna make engines with a game in mind so you have a clear goal of what you want and need
wtf was that 😭
Yeah I do have some stuff in my mind, just "scattered".
I do have a goal of where I want to go with this though
Good
Why did you pick GTK over something like GLFW?
I want to use libadwaita and have modularity within GTK.
More specifically, I wanted this to be GTK because I want to experiment around with it.
I may also implement Qt at some point.
Do you draw GNOME widgets in Vulkan or separate from Vulkan? Bit confused as to where a GUI library fits into a game engine
No the widgets itself are handled separately by GTK itself (not GNOME). The stuff I draw using Vulkan is painted on a GtkPaintable widget or a GtkDrawingArea if I see fit.
Is this engine for a specific use case? Cause I would imagine most people making a game would want to make their own interfaces with their own styles
No not really. It’s more for a hobby and me just learning stuff.
I would definitely not recommend you to use my engine, but if you want, go ahead. I licensed it under MIT and LGPL.
Hmm ok fair enough
CMake Suggestions:
instead of include_directories, use target_include_directories.
Set compiler flags in a toolchain file instead of CMakeLists.txt, then pass the toolchain to cmake using -DCMAKE_TOOLCHAIN_FILE=bla-toolchain.cmake at configure time. Don't use target_compile_options and especially don't use target_compile_options with flags like -O2 or -O3. By default CMake should set sensible optimization options when -DCMAKE_BUILD_TYPE=Release is set, and your code breaks -DCMAKE_BUILD_TYPE=Debug.
If you want to enable default warnings, at the very least put them in an if guard that validates you are using gcc or clang first, as not all compilers use that syntax for warnings.
Pick up GTK4 and other related packages using find_package instead of pkg_check_modules. pkg_check_modules should only be used for modules without CMake support that have pkgconfig support. I know at least GTK4 should work with CMake find_package
Don't set SHARED on your library, instead leave it off unless you have a good reason, then set -DBUILD_SHARED_LIBS=ON at configure time so that this way someone can statically link your library if they want to.
Do not set -fvisibility=hidden, it adds a lot of work to get shared libraries working which isn't really necessary.
This is broken:
target_compile_definitions(TraceRayer PRIVATE RESOURCE_DIR="${CMAKE_INSTALL_PREFIX}/share/TraceRayer/Resources" )
Your install prefix should be settable using --prefix but this will break it since you're using an absolute path.
I will update the cmake and use toolchain files in the future and sort out the debug and release builds but I have some notes regarding what you said.
libadwaita and uuid don't have FindAdwaita or FindUUID directives under cmake, so I'm forced to use pkg_check_modules for them, I have updated GTK4 to use find_package though.
I have a pretty good reason as to why I'm going to use SHARED on my libraries and it is because I'm also planning on developing an SDK besides this engine, which aims to use these libraries.
-fvisibility=hidden is set because I want explicit control as to what functions I want to export for each library. It's what the TR_API macro is used for. Without it, my libraries would just export everything that's not static, and in my case, this is not ideal.
The target_compile_definiton is definitely not broken, because of how I fetch resources within the code itself.
If you set --prefix=/other/install/location it will be broken, since CMAKE_INSTALL_PREFIX is just the configure time parameter for the default prefix if not set.
for example cmake --install your-project-build --prefix=/opt will not work correctly
I only rely on fetching resources from the cmake install prefix as a third pass, my first pass is checking the binary’s root.
This parameter I set is completely for a “last resort” option.
you are the one that make minecraft bedrock work on linux