Archive 17/01/2023.

Bug detected in DebugRenderer::Render method

Leith

While playing with some widgets based on DebugRenderer’s DrawTriangle method, I noticed that depth testing was failing for debugdraw solids - to be clear, they are properly depth tested against scene geometry, but NOT each other!
When I examined the sourcecode for DebugRenderer:Render method, I noticed that, for some silly reason, depth write is being disabled immediately prior to drawing depthtested triangles!
I moved the offending line of code slightly futher down, to just prior to non-depth triangles, this completely fixes the problem, debug solids will be properly depth-sorted.

Modanung

Could you turn this into a pull request?

Leith

It’s hardly worth the effort!

Very near the end of DebugRenderer::Render method,

    graphics->SetBlendMode(BLEND_ALPHA);
    // graphics->SetDepthWrite(false);              /// MOVED THIS

    if (triangles_.Size())
    {
        count = triangles_.Size() * 3;
        graphics->SetDepthTest(CMP_LESSEQUAL);
        graphics->Draw(TRIANGLE_LIST, start, count);
        start += count;
    }
    
    graphics->SetDepthWrite(false);                 /// TO HERE
    if (noDepthTriangles_.Size())
    {
Leith

Apparently, I can’t turn it into a pull request just yet, as my first PR is still being evaluated… I’m denied from issuing another PR under the same credentials until this one is sorted, I gather.

Modanung

That’s nonsense. One-liners are more likely to pass without much consideration.
Especially if they fix bugs.

Leith

I am delimited from issuing PR until the current PR is cleared, it appears

Leith

I have over 60 changes to push now, and I can’t issue PR, to the master, under my current credentials

TheComet

You can submit multiple PRs. They just have to be on different branches

Leith

So every time I want to issue PR I need another branch, until or unless someone plays catch up? sounds enticing

Modanung

I recently did a one-line PR. It was merged the same day. The same could be true for your improvement to the DebugRenderer. The amount of simultaneous changes greatly defines how much effort it takes others to make sense them

SirNate0

Personally, I have no objections to having multiple branches. If you do, I’ll offer a benefit to multiple branches that I’ve experienced: it makes it easier to bring your code into line with the master branch if you have merge conflicts. I have my own personal branch with a couple of changes that have not been merged into master, and I can easily have a dozen files with merge conflicts when updating to the latest master. Using branches, it’s easy to just update the branch that follows Urho’s master to head, then branch and make the couple line changes without having to merge all the other changes with the new changes that were pulled. It’s then just pushing to my GitHub account and creating a new pull request, which as Modanung pointed out, is then very easy to review when it’s a couple lines fixing some bug.

Leith

I appreciate that merging, and testing, is not trivial - even when it can be partially automated. I’d have preferred to PR atomically for each change I make, but given that the first one I ever offered is still languishing, I chose to put them up on a cloned repo, and occasionally shuffle them across to my fork. This puts a much greater load on those who are meant to be handling the merging, I know, but if my first atomic PR is still languishing, why should I expect branched atomic PR not to languish also?
Personally, I don’t stand to gain anything, whether people can see my changes, or not, but I did offer to donate some time to remedy some outstanding issues, and will continue to document and remedy issues, and push them Somewhere Public - I’ll also create a branch or two, because my changes tend to be erratic and not directed at one thing at one time, but rather what I stumble across from day to day. I mean that, when I say “from day to day”, I would like to be issuing PR almost daily, but there’s no sign that our current crew can keep up.

Modanung

In an ideal world you’d test your unfounded biases. In cases like these it takes you and the “current crew” the same amount of effort as when not making PRs, while having a more productive result.

Leith

I do test each and every thing I would propose, it vexes me that you would imply I do not, it would insinuate I was unprofessional in my approach, which would also reflect on the establishments that provided me with my qualifications, plural.
You do not recognize my qualifications - personally?

Leith

I ask for third party testing, and provide full source, annotated with comments, what more can I do?

Modanung

Bla, bla, bla…
PR?

Leith

I will branch PR as I have no alternative, but I may think twice about what I care to share, ok with you?

Modanung

Fortify your beliefs wherever you like. That does not make them accurate.

Leith

This is not how its meant to be. Sigh.

Leith

My bug fixes are accurate. You’re merely setting formalities for sharing of information, and then stepping on it. I do not agree with your process.

Leith

I want to share openly, I am not an annoying idiot, I am a qualified peer, I should have the right to speak.

Leith

please be aware, this conversation is being recorded. I am over abuse of power.

Leith

Tread carefully, because everyone will be able to see what you say next.

Leith

If you continue to suppress me, I will leave, and push my own fork, which is already well better, over 60 files changed, over 1000 code points touched

Leith

you’re in a position to be a friend, and all I really want is to improve the engine, so stop being such a dick, and accept I am trained and know my shit, and let me fly

Leith

this sense of being held back, i have documented on my end

Modanung

The sense of being held back is a self-sustaining one.

Leith

just here mate, I can code outside this, wrote entire render pipes, I do not need you, but you could learn a lot if you stopped assuming everyone is a beginner

Modanung

I have some experience with people with experience.

Leith

it does not show, I believe you, but show me the evidence, I have evidence

Leith

I believe you lied to me, when you claimed not to be a coder

Modanung

I have no papers, nor any professional experience writing code. But thanks.

Leith

thats not relevant, recognition of prior learning is a thing, you can clearly understand me

Leith

it does not matter where you learned it, it just matters that you know it and can prove it, that is the base line

Leith

I want to see my fixes applied, but sending them to you, would be a waste of time, and the guy in charge of assimilating and merge, is not doing his job

Leith

I feel alone, but I will push back. It is my nature.
Perhaps the engine, will need to chase me. At least for some time. Who else tests thing at this level, and finds fault, after all these years? I do, I test stuff, because I use it. Making fixes and not providing them is not my scene, I want us all to be on the same page.

Modanung

@Leith You’re being a bad contributor. But I’m certain you would be capable of great stuff if we manage to sort this one out.

Leith

Recently in my life, I had no papers, no official recognition of my knowledge or experience, I hope I can show others a way out, at minimal cost

Leith

At least, I can show them a way ahead, and thats gold, right? Thats not stuff you will learn online - the way ahead. If I see potential students I wish to teach, should I hide this? What is my motivation to hide what I do? I will fix bugs, and teach people what ever the fuck I wish to teach them, unless they don’t want to learn, or I am over it, which happens around the day I die.

Modanung

As knowledge is omni-dimensional, peer to peer learning makes a whole lot of sense to me. It’s a certainty that any random person knows something you do not and vice versa. Seeing yourself not only as a source but also as a receptacle of knowledge can result in a more equanimous dynamic.

Leith

Absolutely, we are repositories of knowledge, each of us, we all have something to contribute, at least in theory, and we can test it

Leith

I certainly did not to expect to find bugs in the debug side of urho, but here I am offering the solution, if thats not ok, I will gladly fuck off and do something else

Leith

I don’t have a lot of free time lately, so anything I offer, should be considered as gold, which I found, in a river, while working unrelated problems

Leith

my true name translates to river mouth, I have not signed an NDA nor other formal waiver, all the information I wish to impart, I could do so on another site, and to the detriment of this community

Modanung

Then offer it… as a PR.

In Dutch we have the expression spraakwaterval, which translates to speach waterfall. :wink:

Leith

I don’t need the nods of my friends who gain from my work, I just need a nice place to offer change, and a place to explain why its needed, and thats enough, while our small space does not offer me all i need, it does offer me students, whose minds are open, and this is more than i need, to remain here, if the students want me here, then no power on earth will stop me helping them, and this is just a place, where we met

TheComet

Can you please not double/triple/quadrouple/shitload post and instead edit your previous message? I don’t know why mods aren’t saying anything but this is standard procedure on forums. This isn’t instant chat.

As to your question about branches: Yes, when you want to add a new feature or fix a bug, you do that on a branch appropriately titled feature/myfeature or bugfix/iss4545 and submit that as a PR when it is ready to be merged. This is also standard practice. See for example https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

That way, if someone on github has a suggestion concerning your fix, you can continue to commit to that branch without having to submit a new PR and while also being able to work on other stuff.

Leith

I will try not to comment at all. :expressionless: you just reduced my chances of putting anything up for discussion.
If you disagree, say so, if you think I talk too much, you can fuck right off. I mean that. And by the way, what does your bug fix rate look like? I don’t know you. What did you fix, and where is your name on the credits?

Leith

You need to understand and remember, this is an open sourced project, any one of us, who was a qualified peer, could run away and use it in any way and not share the changes, yet you guys want to rap me on the knuckles, so it serves me well, to ask you, what fucking right you have to question me

Leith

I am waiting, patiently, for you to explain to me

TheComet

Please don’t triple post. Forum rules.

If you want to make a change to any project (open source, commercial, doesn’t matter), of course you’re going to get feedback on your code from your peers and/or superiors. And you may have to make adjustments based on that feedback. Do you really think you can write perfect code off the bat and it’ll get merged immediately with no discussion?

Urho3D is a collaborative effort and I encourage you to partake in discussion without your superiority complex and ego.

You seem to think you have some kind of power over the project because you are offering up your free time and therefore the Urho3D maintainers owe you, or somehow the community doesn’t have a right to ask you questions. Are you being serious right now?

I’m not sure why comparing dicks (a fallacous Argument from Authority) matters. If you must know, I am the author of the IK subsystem and have made a few bugfixes here and there. I am familiar with Urho3D’s PR workflow and its build system and am therefore in a position to help you in that regard, since it seems you’ve never used git before and have very little experience in code collaboration.

He’s not asking you to move mountains, he’s asking for a simple PR – The standard process with which open source projects implement collaboration.

Why do you think you being a “qualified peer” gives you more authority here?

Pencheff

My mouse scroll is screaming for help. How can every simple thread get so much flooded by this guy and he’s still around ? Who told him he’s a qualified peer … you can clearly see inconsistency every 2 adjacent lines of his code. I tried hard following what he says trying to find a good advice or anything useful, instead I get lost in time trying not to lose my mind. Just the first time I commented something back I got flooded with private messages from him.

weitjong

I have just suspended this account forever.

weitjong
Modanung