DiligentGraphics / DiligentEngine

A modern cross-platform low-level graphics library and rendering framework
http://diligentgraphics.com/diligent-engine/
Apache License 2.0
3.63k stars 331 forks source link

NUKLEAR add on IM gui to diligent? #310

Closed DaemonDave closed 2 months ago

DaemonDave commented 2 months ago

Hi Diligent / @TheMostDiligent;

I sent two emails to info@diligentgraphics.com regarding expanding how your code is documented and supported by adding a .C NUKLEAR interface (not your duplicated NUKLEAR in .cpp code which defeats the purpose).

If you want to get more context this is my developer handle:

Cheers! Dave Erickson Defense Scientist

TheMostDiligent commented 2 months ago

I don't think I understand what you are suggesting. There is a NuklearDemo sample that shows how to use Nuklear with Diligent.

DaemonDave commented 2 months ago

Hi;

I've wasted hours trying to understand how to interface to your code. And if you read my emails you may understand I'm far more knowledgeable about code bases than you are.

I want to use your code like you used IMGUI in a IMGUIDemo but not by reading your class hierarchies. I want a nuklear .c but also control of your IEngineFactory* and SwapChainDesc from .C without needing to doxygen the shit out of your code to get there. Your code isn't special, it's just hidden complexity. Read my emails, go have a coffee, and understand why you won't survive unless you adapt. Unlike IMGUI.

Cheers!

Dave

On Wed, Sep 4, 2024 at 11:56 AM Assiduous @.***> wrote:

I don't think I understand what you are suggesting. There is a NuklearDemo sample https://github.com/DiligentGraphics/DiligentSamples/tree/master/Samples/NuklearDemo that shows how to use Nuklear with Diligent.

— Reply to this email directly, view it on GitHub https://github.com/DiligentGraphics/DiligentEngine/issues/310#issuecomment-2329664441, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACXF65AAJ4SRPLCO5P7A7OTZU5CUFAVCNFSM6AAAAABNUXZQKKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRZGY3DINBUGE . You are receiving this because you authored the thread.Message ID: @.***>

MikhailGorobets commented 2 months ago

In the future, we plan to remove NuclearDemo because the main Nuclear repository is deprecated. Moreover, our current implementation of mouse and keyboard handling for Nuclear is limited to the Windows platform, making it unsuitable for cross-platform use. If you are able to develop a backend using Diligent for the new fork of Nuclear(https://github.com/Immediate-Mode-UI/Nuklear) and implement input handling for all platforms (Windows, Linux, MacOS, etc.), please submit a PR, and we will review it.

DaemonDave commented 2 months ago

What I mean is a .c interface overview.c with my version of your nuklear.cpp that can run on LINUX without any need for your internals (API) understanding. You don't provide that.

BTW "TheMostDiligent";

I can predict you won't achieve your goal of a Linus Torvalds-like repository success from my assessment of your code base. I've been forced to review thousands of code bases.

I wrote a book about my travails looking into open source code bases and trying to find the optimal principles that make some successful and most doomed. My book is attached. Free, you're welcome. Here's my summary of what will happen: You are doomed. Here's why:

You are trying to stand out by replicating all the basic things you need in a code base. That's what everyone else does. That's why they fail. Your real goal is to found a movement of people that just want to plug your code in a weekend and not have to read it all. What you didn't do is: make good documentation so a coder without any internal understanding can get up and running exploiting your code in a day or two. You know your code, and you think that's important. It's not. You have left your code in an internal/external galaxy boundary condition that forces people to go into folders and read your code. That's abyssmal. You are asking people to leverage your work but made it impossible to get the internals to work new ways for custom needs without reading it all. Your code is nicely formatted but it still takes time to see where things are hidden. People don't want to delve into your structures they want it to just work as described. Zero documentation, no doxygen shows you don't understand how to make others effective. You haven't described anything, it's all clear to you, so what's going to happen is people will get frustrated pulling things apart to get what they want, or like me I will rip out a part I will take the time to learn and leave the rest as garbage. You can't leave straight code and expect people will invest two weeks to become familiar. You didn't make tutorials that show how to get the data out of your classes without caring how you built them. There's no "interface" just code that works one way. That's why everyone else fails. That's why you will fail. You have made it equally hard to use. All you have done so far is copy other people's failure - you just don't know it yet.

What will happen is people will rip stuff out and ignore the rest because it takes too long to get it working in the way THEY WANT. Just like you did with your many very good resource collection repositories. Those are good because they are clear and useful. But the usefulness is part of the format: people understand that they can go to your page to save themselves searches but they are going to pick things out then cannibalize them because they have no loyalty to them like you didn't. See how that works?

If you want to become a millionaire and a successful person like Linus Torvalds you need to worry more about helping external developers like me that can speed our success that adds to your reputation. What you actually need is people's investment, not your code. Your code I can replace with code from at least 50 developers without any difference but the name on the top. But I still don't know how most of that works. What you really did was waste time duplicating all the same stuff other people repeat over and over. You could have leveraged another code base faster IF YOU UNDERSTOOD HOW THAT CODE WORKED EFFORTLESSLY. See?

Helping me make your code base work with a .C interface that generate data for an external code .C engine is the kind of thing that shows people you are serious and committed to your code. I can help over time steering you into better code success.

Otherwise I'll just copy over your shaders to my code base.

Think it over. Cheers! Dave

On Wed, Sep 4, 2024 at 4:03 PM Dave Erickson @.***> wrote:

What I mean is a .c interface overview.c with my version of your nuklear.cpp that can run on LINUX without any need for your internals (API) understanding. You don't provide that.

BTW "TheMostDiligent";

I can predict you won't achieve your goal of a Linus Torvalds-like repository success from my assessment of your code base. I've been forced to review thousands of code bases.

I wrote a book about my travails looking into open source code bases and trying to find the optimal principles that make some successful and most doomed. My book is attached. Free, you're welcome. Here's my summary of what will happen: You are doomed. Here's why:

You are trying to stand out by replicating all the basic things you need in a code base. That's what everyone else does. That's why they fail. Your real goal is to found a movement of people that just want to plug your code in a weekend and not have to read it all. What you didn't do is: make good documentation so a coder without any internal understanding can get up and running exploiting your code in a day or two. You know your code, and you think that's important. It's not. You have left your code in an internal/external galaxy boundary condition that forces people to go into folders and read your code. That's abyssmal. You are asking people to leverage your work but made it impossible to get the internals to work new ways for custom needs without reading it all. Your code is nicely formatted but it still takes time to see where things are hidden. People don't want to delve into your structures they want it to just work as described. Zero documentation, no doxygen shows you don't understand how to make others effective. You haven't described anything, it's all clear to you, so what's going to happen is people will get frustrated pulling things apart to get what they want, or like me I will rip out a part I will take the time to learn and leave the rest as garbage. You can't leave straight code and expect people will invest two weeks to become familiar. You didn't make tutorials that show how to get the data out of your classes without caring how you built them. There's no "interface" just code that works one way. That's why everyone else fails. That's why you will fail. You have made it equally hard to use. All you have done so far is copy other people's failure - you just don't know it yet.

What will happen is people will rip stuff out and ignore the rest because it takes too long to get it working in the way THEY WANT. Just like you did with your many very good resource collection repositories. Those are good because they are clear and useful. But the usefulness is part of the format: people understand that they can go to your page to save themselves searches but they are going to pick things out then cannibalize them because they have no loyalty to them like you didn't. See how that works?

If you want to become a millionaire and a successful person like Linus Torvalds you need to worry more about helping external developers like me that can speed our success that adds to your reputation. What you actually need is people's investment, not your code. Your code I can replace with code from at least 50 developers without any difference but the name on the top. But I still don't know how most of that works. What you really did was waste time duplicating all the same stuff other people repeat over and over. You could have leveraged another code base faster IF YOU UNDERSTOOD HOW THAT CODE WORKED EFFORTLESSLY. See?

Helping me make your code base work with a .C interface that generate data for an external code .C engine is the kind of thing that shows people you are serious and committed to your code. I can help over time steering you into better code success.

Otherwise I'll just copy over your shaders to my code base.

Think it over. Cheers! Dave

On Wed, Sep 4, 2024 at 11:56 AM Assiduous @.***> wrote:

I don't think I understand what you are suggesting. There is a NuklearDemo sample https://github.com/DiligentGraphics/DiligentSamples/tree/master/Samples/NuklearDemo that shows how to use Nuklear with Diligent.

— Reply to this email directly, view it on GitHub https://github.com/DiligentGraphics/DiligentEngine/issues/310#issuecomment-2329664441, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACXF65AAJ4SRPLCO5P7A7OTZU5CUFAVCNFSM6AAAAABNUXZQKKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRZGY3DINBUGE . You are receiving this because you authored the thread.Message ID: @.***>

DaemonDave commented 2 months ago

Mikhail And Assiduous Thanks for responding and not understanding, it confirms my interpretation! I tried to send my book but it failed as too large, here's where you can find it: I've downloaded and gone through 1000 of open source projects, you're nothing special. In fact, you've wasted time duplicating code you could have ripped out of other source code bases HAD YOU UNDERSTOOD IT. See? You want to agree with the idea of open source but then go out of your way to ignore the ideals. Duplicating NUKLEAR .c into C++? So you didn't understand WHY people would want the opposite? Your code base with a .C API which is what I was asking for?

You have shown by adopting IMGUI why IMGUI will survive and you won't. IMGUI is EASY TO UNDERSTAND AND USE. You literally plugged in IMGUI with minimal effort. GEE?!?!

All you are doing is making an also-ran. I can find derivatives of your code in 60 - 100 other places in CPP on github alone. You don't even have doxygen make recipes because you think everyone wants to read your code. If you read NASA code from many repositories like cFE you'd realize you haven't even done a half-ass job. I thought it looked promising, I agreed with your code layouts but that's not vital but when I realized you would rather do all the things that make your life easier but not things that make your code actually help other developers I realized I don't want to support a failing effort.

The Wildebeeste WGE game engine just shut down on github. It started with joy and fanfare. But sooner or later people get tired of doing all the work and they give up. That's your fate. Sorry boys, you won't end up like Linus Torvalds because you care about the things that aren't important and worry about impressing people than actually being helpful. Classic lonely introverts disease.

Cheers! Dave

On Thu, Sep 5, 2024 at 11:03 AM Dave Erickson @.***> wrote:

What I mean is a .c interface overview.c with my version of your nuklear.cpp that can run on LINUX without any need for your internals (API) understanding. You don't provide that.

BTW "TheMostDiligent";

I can predict you won't achieve your goal of a Linus Torvalds-like repository success from my assessment of your code base. I've been forced to review thousands of code bases.

I wrote a book about my travails looking into open source code bases and trying to find the optimal principles that make some successful and most doomed. My book is attached. Free, you're welcome. Here's my summary of what will happen: You are doomed. Here's why:

You are trying to stand out by replicating all the basic things you need in a code base. That's what everyone else does. That's why they fail. Your real goal is to found a movement of people that just want to plug your code in a weekend and not have to read it all. What you didn't do is: make good documentation so a coder without any internal understanding can get up and running exploiting your code in a day or two. You know your code, and you think that's important. It's not. You have left your code in an internal/external galaxy boundary condition that forces people to go into folders and read your code. That's abyssmal. You are asking people to leverage your work but made it impossible to get the internals to work new ways for custom needs without reading it all. Your code is nicely formatted but it still takes time to see where things are hidden. People don't want to delve into your structures they want it to just work as described. Zero documentation, no doxygen shows you don't understand how to make others effective. You haven't described anything, it's all clear to you, so what's going to happen is people will get frustrated pulling things apart to get what they want, or like me I will rip out a part I will take the time to learn and leave the rest as garbage. You can't leave straight code and expect people will invest two weeks to become familiar. You didn't make tutorials that show how to get the data out of your classes without caring how you built them. There's no "interface" just code that works one way. That's why everyone else fails. That's why you will fail. You have made it equally hard to use. All you have done so far is copy other people's failure - you just don't know it yet.

What will happen is people will rip stuff out and ignore the rest because it takes too long to get it working in the way THEY WANT. Just like you did with your many very good resource collection repositories. Those are good because they are clear and useful. But the usefulness is part of the format: people understand that they can go to your page to save themselves searches but they are going to pick things out then cannibalize them because they have no loyalty to them like you didn't. See how that works?

If you want to become a millionaire and a successful person like Linus Torvalds you need to worry more about helping external developers like me that can speed our success that adds to your reputation. What you actually need is people's investment, not your code. Your code I can replace with code from at least 50 developers without any difference but the name on the top. But I still don't know how most of that works. What you really did was waste time duplicating all the same stuff other people repeat over and over. You could have leveraged another code base faster IF YOU UNDERSTOOD HOW THAT CODE WORKED EFFORTLESSLY. See?

Helping me make your code base work with a .C interface that generate data for an external code .C engine is the kind of thing that shows people you are serious and committed to your code. I can help over time steering you into better code success.

Otherwise I'll just copy over your shaders to my code base.

Think it over. Cheers! Dave

On Wed, Sep 4, 2024 at 4:03 PM Dave Erickson < @.***> wrote:

What I mean is a .c interface overview.c with my version of your nuklear.cpp that can run on LINUX without any need for your internals (API) understanding. You don't provide that.

BTW "TheMostDiligent";

I can predict you won't achieve your goal of a Linus Torvalds-like repository success from my assessment of your code base. I've been forced to review thousands of code bases.

I wrote a book about my travails looking into open source code bases and trying to find the optimal principles that make some successful and most doomed. My book is attached. Free, you're welcome. Here's my summary of what will happen: You are doomed. Here's why:

You are trying to stand out by replicating all the basic things you need in a code base. That's what everyone else does. That's why they fail. Your real goal is to found a movement of people that just want to plug your code in a weekend and not have to read it all. What you didn't do is: make good documentation so a coder without any internal understanding can get up and running exploiting your code in a day or two. You know your code, and you think that's important. It's not. You have left your code in an internal/external galaxy boundary condition that forces people to go into folders and read your code. That's abyssmal. You are asking people to leverage your work but made it impossible to get the internals to work new ways for custom needs without reading it all. Your code is nicely formatted but it still takes time to see where things are hidden. People don't want to delve into your structures they want it to just work as described. Zero documentation, no doxygen shows you don't understand how to make others effective. You haven't described anything, it's all clear to you, so what's going to happen is people will get frustrated pulling things apart to get what they want, or like me I will rip out a part I will take the time to learn and leave the rest as garbage. You can't leave straight code and expect people will invest two weeks to become familiar. You didn't make tutorials that show how to get the data out of your classes without caring how you built them. There's no "interface" just code that works one way. That's why everyone else fails. That's why you will fail. You have made it equally hard to use. All you have done so far is copy other people's failure - you just don't know it yet.

What will happen is people will rip stuff out and ignore the rest because it takes too long to get it working in the way THEY WANT. Just like you did with your many very good resource collection repositories. Those are good because they are clear and useful. But the usefulness is part of the format: people understand that they can go to your page to save themselves searches but they are going to pick things out then cannibalize them because they have no loyalty to them like you didn't. See how that works?

If you want to become a millionaire and a successful person like Linus Torvalds you need to worry more about helping external developers like me that can speed our success that adds to your reputation. What you actually need is people's investment, not your code. Your code I can replace with code from at least 50 developers without any difference but the name on the top. But I still don't know how most of that works. What you really did was waste time duplicating all the same stuff other people repeat over and over. You could have leveraged another code base faster IF YOU UNDERSTOOD HOW THAT CODE WORKED EFFORTLESSLY. See?

Helping me make your code base work with a .C interface that generate data for an external code .C engine is the kind of thing that shows people you are serious and committed to your code. I can help over time steering you into better code success.

Otherwise I'll just copy over your shaders to my code base.

Think it over. Cheers! Dave

On Wed, Sep 4, 2024 at 11:56 AM Assiduous @.***> wrote:

I don't think I understand what you are suggesting. There is a NuklearDemo sample https://github.com/DiligentGraphics/DiligentSamples/tree/master/Samples/NuklearDemo that shows how to use Nuklear with Diligent.

— Reply to this email directly, view it on GitHub https://github.com/DiligentGraphics/DiligentEngine/issues/310#issuecomment-2329664441, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACXF65AAJ4SRPLCO5P7A7OTZU5CUFAVCNFSM6AAAAABNUXZQKKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRZGY3DINBUGE . You are receiving this because you authored the thread.Message ID: @.***>

DaemonDave commented 2 months ago

LOL: Proving my point.

ivirtex commented 1 month ago

Schizo

DaemonDave commented 1 month ago

Enjoy irrelevance. 😂