tsoding / olive.c

Simple 2D Graphics Library for C
https://tsoding.github.io/olive.c/
MIT License
1.86k stars 105 forks source link

Nope. giving up. #9

Open petercwallis opened 2 years ago

petercwallis commented 2 years ago

Hi, read about this on HackerNews and it sounded great and exactly what I need. You might want to have stable and development versions (new code needs a "stride" parameter for instance) but even then the development version should work from the demo on the front page. And what should I expect when I get the front page demo code to compile and run it? I think flag_jp.c produced flag_jp.png? .. and index .html? ... Nope. Could you say what we should expect from doing the first demo perhaps.

RobLoach commented 2 years ago

You might want to have stable and development versions

The project is still young. There aren't any tags yet, but I'm sure once it's a bit more stable and feature-complete, there will be some releases tagged.

even then the development version should work from the demo on the front page

Follow the build instructions from the README in order to build the demos.

what should I expect when I get the front page demo code to compile and run it?

Are you looking for screenshots within the README?

Nope. giving up.

Quite the title for an issue. If you create issues with constructive suggestions, you'll get a more positive response, and likely more action towards what you're dealing with.

RandyGaul commented 2 years ago

Quite the title for an issue. If you create issues with constructive suggestions, you'll get a more positive response, and likely more action towards what you're dealing with.

That's what happens if your content gets onto something like hackernews, you attract a wide range of folks 😆

petercwallis commented 2 years ago

The issue is that it is not clear how to get from github to what is advertised. I am sure it is clear to you how to do that, but I tried for 20 minutes, and nope. So as a positive suggestion, perhaps you could try "shoulder surfing" someone who has no idea what to expect? - Someone who represents your target audience of course.

As I said, I tried the front page example and got it to compile and run, but... I am willing to bet that if I compiled and ran the demos I would get the same result ... the command line prompt. I cannot imagine how it works (which is in part what drove my curiosity) so I really do not have an idea of what to try.

Sorry if I was being negative; I am willing to help, but my inability to appreciate the obvious is not because I am thick. I might be thick, but that is not why I can't see what it does. So if you tell me what it is meant to do, perhaps I could suggest something for the readme?

On Fri, 23 Sept 2022 at 20:11, RandyGaul @.***> wrote:

Quite the title for an issue. If you create issues with constructive suggestions, you'll get a more positive response, and likely more action towards what you're dealing with.

That's what happens if your content gets onto something like hackernews, you attract a wide range of folks 😆

— Reply to this email directly, view it on GitHub https://github.com/tsoding/olive.c/issues/9#issuecomment-1256579734, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALY3LWMEF4EDIUHLN7QJFZDV7X6FFANCNFSM6AAAAAAQUC44RQ . You are receiving this because you authored the thread.Message ID: @.***>

Francicoria commented 1 year ago

As the readme says

IMPORTANT! THIS LIBRARY IS A WORK IN PROGRESS! ANYTHING CAN CHANGE AT ANY MOMENT WITHOUT ANY NOTICE! USE THIS LIBRARY AT YOUR OWN RISK!

The library is still in development and not finished, so the current focus is not documentation and ease of use but developing new features and making the api better. If you want still to try out the library i would raccomend watching the past broadcasts on twitch where the dev worked on this library, his twitch nickname is tsoding.

markusbkk commented 1 year ago

I thought it was pretty easy to understand what the library was for.

Personally, I'm stoked. I'll try to port the code to Go when I have the time. Been wanting something like this for quite a while.

I'm working on my own OS with a CoreGraphics-esque architecture so a library that can do all the nitty gritty pixel work without being dependent on/linked to any one specific output is pretty much a must.

markusbkk commented 1 year ago

The issue is that it is not clear how to get from github to what is advertised. I am sure it is clear to you how to do that, but I tried for 20 minutes, and nope. So as a positive suggestion, perhaps you could try "shoulder surfing" someone who has no idea what to expect? - Someone who represents your target audience of course. As I said, I tried the front page example and got it to compile and run, but... I am willing to bet that if I compiled and ran the demos I would get the same result ... the command line prompt. I cannot imagine how it works (which is in part what drove my curiosity) so I really do not have an idea of what to try. Sorry if I was being negative; I am willing to help, but my inability to appreciate the obvious is not because I am thick. I might be thick, but that is not why I can't see what it does. So if you tell me what it is meant to do, perhaps I could suggest something for the readme? … On Fri, 23 Sept 2022 at 20:11, RandyGaul @.> wrote: Quite the title for an issue. If you create issues with constructive suggestions, you'll get a more positive response, and likely more action towards what you're dealing with. That's what happens if your content gets onto something like hackernews, you attract a wide range of folks 😆 — Reply to this email directly, view it on GitHub <#9 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALY3LWMEF4EDIUHLN7QJFZDV7X6FFANCNFSM6AAAAAAQUC44RQ . You are receiving this because you authored the thread.Message ID: @.>

It's an output device independent, low level graphics library. Basically, it's a much lower level than the kind of graphics system you might be looking for.

It gives you some convenient methodology to manipulate pixels behind the scenes, but the final output is up to you/whatever display mechanics you pick.

This is how MacOS' CoreGraphics/Quartz operates, for example. You can compose and manipulate graphics and then output them to just about anything. Not just the display but also PDF. You get pixel perfect renditions on any output device because the low level library itself doesn't know or care about the output device's specifics.

I don't think this will ever be like GTK, QT or Win32 (although you could certainly output the result of whatever you composed in olive.c to those), because that would require considerable upkeep and would not be something you'd want in a single header library. NVM that there's more than enough of libraries like that for every conceivable programming language and OS.