Code Monkey home page Code Monkey logo

Comments (8)

rswinkle avatar rswinkle commented on May 21, 2024 1

I had a pull request on a non-OpenGL SDL2 backend on the old repo. I've been meaning to resubmit it after the string API change and after getting my other one in. It's just a conversion of the old SDL1.2 backend that was removed. It requires SDL2-gfx as well and uses that library's built in 8x8 pixel ASCII only font. Long term I'd want to remove that limitation.

"Software rendering" is kind of ambiguous these days. Most people use it to mean 3D rendering done on the CPU like that project. However we're also referring to an SDL2 "software renderer" when even using plain SDL2 (whether the end result is 2D or 3D) the default renderers are "accelerated" which unless I'm very much mistaken usually means using the GPU; just not its 3D capabilities.

Nuklear doesn't actually use/take advantage of any 3D features right? Otherwise it wouldn't look the same on the non-3D API backends. So while that project is an impressive achievement, I don't really see the benefit to Nuklear. I can't actually think of a use-case for a different 3D backend. Putting aside the fact that pretty much anything you can possibly run 3D graphics on has some kind of GPU with OpenGL support on it already, you could always just use the software renderer(s) in Mesa3D with the OpenGL backends if you wanted/had to.

from nuklear.

saidm00 avatar saidm00 commented on May 21, 2024

SDL2 software renderer probably makes more sense as more people are using it, and it works everywhere, but this one is impressive as a software renderer

from nuklear.

dumblob avatar dumblob commented on May 21, 2024

Hm, my idea was quite different - someone wants to (for whatever reason) use the linked 3D renderer might also want some UI. If Nuklear had an existing backend, it'd make things a bit easier to start with 😉. That's why I also asked if anybody is using that 3D renderer and whether it would make sense.

from nuklear.

rswinkle avatar rswinkle commented on May 21, 2024

Hmm. Couldn't they already use the x11 backend with that project since it also uses x11 for Linux? And maybe that would work for GDI and windows too (I don't know windows API's but I associate GDI with win32/HWND type code which I see in their windows platform; maybe they're not exactly the same).

Wouldn't it be about as complicated as using OpenGL based Nuklear in an app that was also doing OpenGL 3D rendering? Other than worrying about not preserving/restoring conflicting state between UI and your graphics code, it works.

from nuklear.

saidm00 avatar saidm00 commented on May 21, 2024

@rswinkle That makes sense to me, or you could use OpenGL to render the CPU drawn frames and UI overlayed on top. I do see the advantage of doing an SDL2 software renderer though, GDI and x11 obviously aren't portable and that's an issue for those who want to keep their project 100% using CPU.

from nuklear.

saidm00 avatar saidm00 commented on May 21, 2024

I actually at some point even wanted it myself, but I got discouraged, I wanted to write a software ray tracer, and have a UI for it, and I was gonna write a Nuklear renderer in SDL2, but never really got the time or drive to do it.

from nuklear.

dumblob avatar dumblob commented on May 21, 2024

Thanks for the comments. I'll leave this open for some time yet to allow some more discussion (and new contributors), but currently it seems to me as we shouldn't push this idea much.

from nuklear.

RobLoach avatar RobLoach commented on May 21, 2024

Feel free to experiment with creating a backend for Renderer. Looks like a really cool platform!

from nuklear.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.