🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

My project takes too long to program

Started by
91 comments, last by JoeJ 3 years, 2 months ago

NikiTo said:
This accusation is offensive. Who told you i hidden it? I googled for it today to find the example you showed me. But found this one. Your accusation is wrong and offensive.

You mean the NV paper about raster GI?

You posted this first right above, so i assumed it was the source of your failed RT project back then.

If you did not, then why do you post it? But does not matter - it only shows you should have looked up such things before starting to reinventing the wheel, no? Would have been for much higher benefit than doing so afterwards just for what - self defense?
In other words: You were too ignorant to see related research on GI because you assumed you could do just better starting from zero. You were too self assured to build upon the done work of others. Result: Project failed, and you still no nothing about GI,
Proof:

NikiTo said:
When i was done with the rasterization GI engine, i would have copied the lighting formulas anyways. I would have copy pasted them and they work. It works.

I know you mean PBR shaders, referring those shown at LearnOpenGL.com.
But that's only about modeling the reflection of incoming light with the surface material.
In contrast, GI is about calculating that incoming light. (The definition of ‘GI’ term may include material model as well, but that's optional and depends on context.)
So no, plugging in those shaders would not have given you an approximation of GI.
I told you so back then already, but you refused to understand the difference. And obviously you still do not, and you never will. It's hopeless. No matter if i teach you in person, or if i point you to papers and other resources, you prefer to keep stuck on your assumptions, which are wrong, or incomplete in the best case.

So, take my apologize for assuming you had based your work on that GPU gems article. I'm sorry for overestimating your skills.

However, the GPU article does not prove your own wheel would have worked. You can't even know that yourself because you never compiled and run your ‘work’.

If you want to keep destroying me, never forget about your own years spent without publishing a product.

I do not want to destroy you. I don't have any fun being so hard and direct to you, believe me.
You spend years isolated in your basement working on assumptions in hope to sell and make a living from it. I want you to stop this for your own good and nothing else.

I did publish two mobile games. I also made a living from web development for some years. We share some things like actually working unemployed at high risk of failure, but if i fail to sell, i can just make a game with my stuff, and eventually i might prefer this route anyways. It won't be for nothing. Don't worry about me.

NikiTo said:
First time i pointed to your personal failures and you jumped to the roof.

I got angry when you said i would force help to people, or something similar. Your assumptions about my work came later, and if this would not be public i would not even respond to that. Not anymore.

I admit it was not fair to list up your 3 projects and point out what i think is wrong about your workflow, but you asked for it. See thread title. I'm hard in hope you finally learn some basic things like ‘functionality first, API later’.

It would be pleasant for me to fly with my ML-spaceship over your traditional-programming-cave and wave to you. I want to see your expression of a deprecated coder. And when i have an agent that moves without code/engine inside, i will post it in the lounge. It will be a video of an agent moving. I will show it on the forum for you to see it. And I will post it here in the Lounge again, not in the AI sub-forum, because my threads always get polemical.

I truly hope for you it works out, but i still recommend you start with something simple like cats and dogs.

Advertisement

Nikito:

i am lazy (and my users are also lazy) to do 3d models, so i made an algo for my game engine to convert 2d characters to animated 3d characters automatically.

i was lazy to spend a never ending decade from my life to waste on retarded gpu apis and fight with random bugs for each and every platform and every vendor, so i did a software renderer from a few 100 lines, and optimized it later on.

you are very wise to come the conclusion, to be profitable, you need to squish the development times down. cut down the ballast and prepare your hands for profit.

JoeJ said:
If you did not, then why do you post it?

Because you said my rastGI project was not going to work. And NV shows it works.

JoeJ said:
I know you mean PBR shaders, referring those shown at LearnOpenGL.com. But that's only about modeling the reflection of incoming light with the surface material. In contrast, GI is about calculating that incoming light. (The definition of ‘GI’ term may include material model as well, but that's optional and depends on context.) So no, plugging in those shaders would not have given you an approximation of GI. I told you so back then already, but you refused to understand the difference. And obviously you still do not, and you never will. It's hopeless. No matter if i teach you in person, or if i point you to papers and other resources, you prefer to keep stuck on your assumptions, which are wrong, or incomplete in the best case.

It happened again - you tried to refute anything i say at any cost and ended up saying something that makes no sense. Just like one of your first sentences in your very first comment to this thread - “i don't know it myself, but i know you know nothing” makes no sense, the same way you said now something illogical.

Ofc you know very well how GI works. There are not only incoming rays in a scene. Just before a hit, a ray is incoming, and just after the hit, the same ray is outcoming. And it goes the same way alternating "incoming" and "outcoming" all around the scene. What you said makes no sense, because your first goal here is to refute anything i say.

And ofc you know things can be developed separately. You are just too angry now, you don't read what you are writing.

Feelings are altering the output of your brain.

JoeJ said:
So, take my apologize for assuming you had based your work on that GPU gems article. I'm sorry for overestimating your skills.

Even your excuse feels offensive.

JoeJ said:
I do not want to destroy you. I don't have any fun being so hard and direct to you, believe me.

I don't believe you. Change the tone. Stop pushing. Then i can believe you. If you are not able to stop biting me, you are not wanting to help me. Can you at least fake it that you love me? Remember - “friendship is magic”.

JoeJ said:
i can just make a game with my stuff, and eventually i might prefer this route anyways.

JoeJ says to JoeJ - “”“No, you can not. You have no idea what you are doing.”""

JoeJ said:
I admit it was not fair to list up your 3 projects and point out what i think is wrong about your workflow, but you asked for it. See thread title.

This is not upsetting me. This is a programming related forum and the topis is my failure. I failed. It's a fact. If it is not a secret, you can trash me about my failure all you want. It is productive to point out all my failures. Just the ways to do it matters a lot.

I can not show myself to somebody now and ask him to feed me, because i failed to sell and have not money for food. Bringing to him all sort of excuses. He would tell me - “You failed, period.”

I maybe invented my own reasons to optimize too much and then believed these reasons.

If you said to me you are complaining too much. I could live with it. Might be truth tbh.

What upsets me is your constant push to hurt me. You denied literally anything i said about NNs. Will this be your single criteria to go through life? - “i don't like you. If you say breathe, i will suffocate to do the contrary.” This is not the first time it happens with you. It could be something immature in you - you would do just anything in order to win an argument.

NikiTo - “NN can simulate apps without the coder having to type code”
JoeJ - “You know nothing at all. What you say proves you know nothing about NNs.”
NikiTo - “NV did it, here, see, no engine. Link.”
JoeJ - “You know nothing about NNs, all you say is false”

You just have to read in english -

JoeJ - “nononono nononono”
NikiTo - “water is wet”
JoeJ - “No, no, nonononono water is dry. You know nothing about water.”

I would have loved it, if you asked me - “What do you mean by not writing code? Elaborate more.” and “Don't tell me all this time you was hiding rastGI article from me.” - this is a better conversation.

All the time i have to defend myself when talking to you.

JoeJ said:
I got angry when you said i would force help to people, or something similar.

I edited it three times before writing it, because i know you are very sensible. Finally i wrote “You always rush to offer help to people.” Sorry if it offended you. Though, i think it is inoffensive. I really made not a single question.

I wanted to share my misery that's all. When you said you have the same problem with organizing your big projects, this was what i searched for share my misery with your misery. You said - “Regarding your programming problems, i know them all. Guess we all know what you mean”. I came for this.

That's fine, you can not read my mind and are not expected to know what i mean. Then you are not expected to do what i ask for. But why feel offended?

I felt very offended by your very first comment and since then…

JoeJ said:
I truly hope for you it works out, but i still recommend you start with something simple like cats and dogs.

Anyways. thank you for the suggestion.

NikiTo said:
Because you said my rastGI project was not going to work. And NV shows it works.

um… sounds i was right with my prediction? And i knew about raster GI long before you?

NikiTo said:
Feelings are altering the output of your brain.

Yep. Hard to avoid that, because your dream about robot society replacing inferior mankind is not a thing yet.

NikiTo said:
What upsets me is your constant push to hurt me. You denied literally anything i said about NNs.

I can relate to you. I behave like an ass. Because i think the hardest possible kick in your's to change your way of thinking.

You talk again about rays going in an out, but you still ignore HOW MUCH light thy transport, and HOW TO INTEGRATE all that light to a pixel, so the result converges correctly towards laws of physics of the real world. That's the most important thing here, and i tried to explain oh so often, but you have ignored it all. You kept assuming: Just code some rays going in and out, and the rest will just work. It does not. Period.

Now i'm no NN expert and can't teach you that, but i see the exact same pattern of thinking. Others see that too, otherwise Vilem would not had tried to fix some assumption of yours, only to see some posts later his effort was for nothing. Pretty sure of that, and that's frustrating.

It's even more frustrating you never get out of that naive thinking even after years of repetition, seeing how you keep stuck out of ignorance. I know this ignorance is not intended, you can't see it yourself, which is still just frustrating. So i kick harder and harder.
And it does not help.

This, and only this is why i'm so pissed, man.

@Geri thanks for sharing your experience.

I know it in my mind. But i can not do it in my heart. I wish there were pills against premature optimization, because i do know well it is not normal to count shader registers at hand.

And it is not normal to know that it is not normal but to keep doing it.

I think there could be other ways of premature optimization, not only code. I was making too nice topologies for my 3D models…. manually. I can imagine some game dev putting too much time in the models of secondary characters or even characters who will be far to be seen in detail. Other people maybe want to make their game too high resolution for nothing. Or maybe some people postpone the launch of their game until they add a good GI to it at a good FPS. I experienced premature optimization in comics too - “How it looks at full size… How it looks at half size…. what if the client has a small monitor… let me see how it looks scaled down 4 times… the icon of the page is looking bad. I need to change that"(sometimes it happens you draw something and in its icon in the folder, it looks like an ape's ass. Because of downsampling. This is why i quit comics. Depending of the monitor of the client, the same drawing of the same character looks sad or smiling, never ending optimization)

I tried to create my own parser that does all these insane things i manually do in shaders. I started but it looked too much of a work for me. At that moment, programming a parallel programming extension myself looked too much. But after months of writing the last shader, i wonder if i should retake the parser again.

I never optimized nothing at all inside C++/C#. My mental problem of premature optimization activates only with HLSL(and with ASM, but i never ever again will write a single bit of ASM). In art it could be of worth to write an app bit a bit. But i think in programing it is more art-ish to create a parser and save work. In engineering a robot creating another robot creating another robot is pure art. And i still count registers….. Watashi Baka…

If i had to teach other people, i would not recommend them to do it the way i do it. Then when i finish teaching them, i would go to my cave and do it the slow way.

Hoping for less heat in this “discussion”…

-- Tom Sloper -- sloperama.com

JoeJ said:
You talk again about rays going in an out, but you still ignore HOW MUCH light thy transport, and HOW TO INTEGRATE all that light to a pixel, so the result converges correctly towards laws of physics of the real world. That's the most important thing here, and i tried to explain oh so often, but you have ignored it all. You kept assuming: Just code some rays going in and out, and the rest will just work. It does not. Period.

For my rastGI i just copy paste the best PBR formula i can find and put it in the pixel shader. I focused on a part of the project where i could add something. I can not improve PBR lighting formulas. I am not a "self proclaimed expert". I know what i can and can not do, more or less. I decided to make what i can and copy paste the rest. I think it makes sense. It was going to work.

BTW, light info can be put inside the ray. In DXR, the ray is holding the resulting color information that is to be seen. Not inside a pixel. Maybe you are talking about some texture space something. Ok then.
In companies it is super normal to delegate the work you can not do to other people specialized in the field. Somebody from India could be writing a class and other from Argentina could be writing another class for the same app. Then all of it is put together and it works.

I still answer to you about RT only because you are accusing me of being an ignorant. I am not an expert, but i am not as you try to picture me - complete ignorant.

JoeJ said:
Now i'm no NN expert and can't teach you that, but i see the exact same pattern of thinking. Others see that too, otherwise Vilem would not had tried to fix some assumption of yours, only to see some posts later his effort was for nothing. Pretty sure of that, and that's frustrating.

He did not say to me: “You have no idea at all, about nothing at all”. He was polite.

JoeJ said:
This, and only this is why i'm so pissed, man.

Give up on changing me. It hurts me more than you to see how you push, kick and punch into a wall.

I give you this -

You are a much bigger expert in GI and RT than me. But i am not a complete ignorant in the field of RT/GI either.

If you can take this offering, and you are fine with it, next i offer you peace.

Practically, you cannot just throw the input at a network and expect it to learn anything. It depends on the network. Are you using the standard feed-forward back-propagation neural network? Well, that won't be good enough to discern cat images from dog images – it detects the correct classification only about 50% of the time, which is the same as just classifying at (pseudo)random. Are you using a CNN?

NikiTo said:
For my rastGI i just copy paste the best PBR formula i can find and put it in the pixel shader. I focused on a part of the project where i could add something. I can not improve PBR lighting formulas. I am not a

What you say here would apply to an approach like mine (or almost any realtime GI method). Material reflection models is its own field of research and knowledge, so i could just ignore it completely and plug in PBR shaders without knowing what they do. So i know what you mean and it's not wrong. That's not the point i try to make.

BTW, light info can be put inside the ray. In DXR, the ray is holding the resulting color information that is to be seen. Not inside a pixel. Maybe you are talking about some texture space something. Ok then.

Nah, i talked about a pixel because classic RT methods like Path Tracing integrate into pixels visible on screen. Same math applies to anything else too - voxels, surfels, probes, etc. That's implementation details. Those details can become their own fields of research, e.g. Monte Carlo integration (based on random samples) in PT vs. solid angle integration in radiosity solvers (based on area discretization).

Learn one of those methods, and if you understand it, you can implement the other. But you must learn one of them to know how it works ('Rendering equation') and to have a ground truth reference to check for errors.
Personally, because i lack a degree in math and equations in papers did not help, i had to reinvent radiosity method myself. That's an option. But you didn't do any of this. You did spend a lot of work on other details, while completely missing the general and most important concept. And because you never run it, you did not even recognize something is missing. All your work was based on assumptions. It was doomed to fail from the start. And worse: You did not pay attention to offered help to compensate your own lack of math, to shorten your time towards the goal of GI. To sum it up: You were ignorant to the knowledge of others (mine, papers) and unaware about your own missing knowledge (about rendering Eq.).


This is why you'll keep failing, even if you manage to get rid of premature optimization pressure!

Notice: You are aware about your premature optimization pressure, but you are unaware about your ignorance.
To make a living from programming, or to invent something new, you have to address both of those problems.

He did not say to me: “You have no idea at all, about nothing at all”. He was polite.

So was i. I was polite and gentle, NikiTo.
Imagine you have kid and it keeps peeing in its pants until five.
At some point, you just stop being nice and try the other alternative.

Give up on changing me.

I already did. I lost hope you would ever understand any of the above, although it can't be that hard, if you would replace ‘self defense’ with ability to ‘look at things from a different perspective than my own’ for a moment.
Many people just lack this ability completely, so they are doomed to remain stuck in some things.
I'm no psychologist and i don't know how to address this. Being nice does not help, discussion doesn't, kicking ass doesn't either. So i give up. I'm just very bad at giving up, but will do.

You are a much bigger expert in GI and RT than me. But i am not a complete ignorant in the field of RT/GI either.

My expertise is irrelevant, but your ignorance is almost 100% complete.
It prevents your progress in programming and math, which is necessary for the hard problems you want to work at.
Thus i think getting back to Comics would be the better choice. Premature Optimization is still there, but ignorance can become a from of artistic expression and message.

But that's just my personal impression ofc., and i can't add anything else.

@taby I don't know what you mean by “50%”.
I mean - i don't know why you cut it in half?
It is expected NNs to are 80%+ precise. Every network gives a different percent of accuracy. Why you cut it in half???

This topic is closed to new replies.

Advertisement