Closed DaemonDave closed 8 months ago
Just a quick response, because I am too busy to read the whole message right now: There are instructions in the read me that will fix your error message.
Downloading Data
Scenes and other data that are needed to run the renderer are available on the websites for the papers: http://momentsingraphics.de/Siggraph2021.html http://momentsingraphics.de/HPG2021.html
[...]
Running the Renderer
Get data files first (see above). Run the binary with current working directory vulkan_renderer.
Here are answers to a few of your specific questions:
Feel free to change this code base in any way you like in your own fork. But I am no longer actively developing this project and find that it serves its purposes well in its current form. Do not expect me to review and/or merge your changes.
I've finished reworking your cmake folders to work with GNU autotools automake, configure and libtool.
I can make a libtool convenience library to separate out main file executables to run various versions. Some guidance on where and what you'd separate would be appreciated. What that would do is allow you separate executables along various papers with no increase in source code and folder division other than a varied main.c or other ( ex. configure --build-this=polygon-light ... and so on) you want to determine. That way builds would vary a minor amount or make all different versions on configuration (i.e. use the config.h config.in.h header to alter builds)
I notice no one has asked so I gather I'm the first developer to run it through to executables?
When it comes to running it, it fails because there's no explanation on what file flags are needed, from which data folders, and what variables alter behavour. There is no example run to show what the syntax should be like many opensource executables (i.e. like man page versions " vulkan_renderer --help ")
It fails like this:
For example, here's how astyle --help starts:
" ~/.local/astyle --help
Usage:
Options:
"
Your code is replete with flaws like magic numbers, a sign that the creator feels he's way too smart when compared to others, but in reality hasn't done a minimum of due diligence to make certain the code is rational to those that weren't in the same mindset when written. I've researched over 1000 open source projects in many languages, I can assess the relative contempt without sweating... It's better to write a #define MAGIC_NUMBER_RANDOM 3 with a doxygen \def outline what the reason was than just a 3. Clarity saves time for your possible code helpers. Or not.
BTW: I've reformatted your C code into the Allman bracket style ( { and terminating } on separate lines so one can see the extent of a bracketed code block and code extent is clear) do you want those back in the main trunk?
Under main.c:
The experiment is formatted: "-eXXX"?
So there is a -e flag that wants an experiment number? Your folders don't have a number attached in the data so how does one find those? BTW Sscanf is a bug inducing function call if you aren't aware. Full of injections and crash inducement.
Your polygon count is hidden in sample_polygon_technique_e enum inside polygonal_light.h? Does that map to experiment #?
OR is it inside } scene_index_t; that you don't expressly outline the numbers for each enum? See the problem?
BTW There is a GNU GETTEXT library that automates the flag interpretation for letter -f flags and --word-flags= for argv and argc ... It's better and bug free since they've spent 30 years+ perfecting it. And it makes the flag explanations for you.