Raylib looks popular! It was ported to so many languages: https://github.com/raysan5/raylib/blob/master/BINDINGS.md
Games which were made with Raylib: https://itch.io/games/tag-raylib
This powerful tool is Raylib! https://raysan5.itch.io/raylib
If any expert of the forum ports Raylib to PlayBASIC, I believe that a new life will be given to PlayBASIC. 8) ;) Yeah!
Any expert will port?
If it's a set of libraries then just compiling to DLL with exposing the functions would be all that's required.
Quote from: kevin on October 26, 2022, 05:55:18 AM
If it's a set of libraries then just compiling to DLL with exposing the functions would be all that's required.
Oh, I don't have this professional knowledge. Perhaps only you or a few experts in this forum are able to finish this. PlayBASIC really needs revitalization!
Piamoo,
The original plan was for there to two versions of PlayBASIC, the classic edition and an extended version. The classic would be feature compatible with it's predecessors (otherwise what's the point ?), where the other wouldn't be. Over the years there have been a number of public and private attempts to build suitable command sets for the extended version; which are generally refereed to as FX. These probably date back about 15 years..
Some example conversations might be.
--- G2D - 2D OpenGL library for PlayBASIC (WIP / BLOG / SCRATCH PAD) (https://www.underwaredesign.com/forums/index.php?topic=4211.0) and extension that brings OpenGL to PB classic over 8 years ago..
--- PBFX 2D Core (https://www.underwaredesign.com/forums/index.php?topic=4580.0)
--- PlayBasicFX (from version 1.65 + above) Screen Shot Updates (https://www.underwaredesign.com/forums/index.php?topic=1807.0) - PlayBASIC FX Release Announcements (https://www.underwaredesign.com/forums/index.php?topic=2787.0) - (Direct 3D based)
these are only to name a few; here's also some existing wrappers for 3rd party engines such as ColdSteel for example and various others..
Unfortunately they all shared the same community response.. The download rates speak for themselves, virtually no one cared ! The weren't interested.
There's any number of reasons why; such as they step outside of the established rules of PlayBASIC / Different command names / documentation etc etc. Which boils down to if a user can't just install or include the library and run their program using it; they'd have to port their code across to it.. Which is a pretty big disincentive for people who may or may not know how to achieve the same response from a pair of libraries.
What your talking about here would be produce a wrapper for this library for use with the existing PlayBASIC.
This has all the same problems as the predecessors; in that since the commands can't share PlayBASIC keywords; they'd have to be prefixed. Meaning a user couldn't just include and run their code on the new library. No local help files (i.e That PB programers can understand) / examples / tutorials etc etc.. So in order to adopt, the user basically needs to know how the libraries function at wrapper level.
The alternative is we produce a PlayBASIC emulation using the 3rd party library as the base. Making the transition familiar to the user but may or may not produce indented results. Even so; today the user would have to 'port' their code to it. Due to command set collisions.
Ideally what I want to do is make the bulk of 'command sets' plug and play. So we could have wrappers for almost any 3rd party libraries. Then users could include a set and they're off to the races. This requires big changes to PlayBASIC though that are none trivial and that i've been in the process of making for last hand full of years.
something in the works. sounds exciting.
i've been thinking of having another look at playbasic fx. i wasn't sure how to get started when i looked at it years ago.
over the years my knowledge of 2D/3D have improved, as well as understanding what a pipeline is. so another look at it should prove fruitful (compared to my first attempt).
open GL worked on my older graphics card, when i ported my 3D engine to work with it about a year ago, but my new graphics card say's no... i can't even open 16bit fullscreen with the new graphics card.
it is an RTX 3070 card.
direct 3D seems to be the future.
Quote from: kevin on October 29, 2022, 08:39:24 PM
Ideally what I want to do is make the bulk of 'command sets' plug and play. So we could have wrappers for almost any 3rd party libraries. Then users could include a set and they're off to the races. This requires big changes to PlayBASIC though that are none trivial and that i've been in the process of making for last hand full of years.
Wow! You wrote a detailed post to explain the difficult situation of PlayBASIC to us. I fully understand now. Thank you very much. I am very glad because you are very passionate. Your target is our new hope! Sure! We are really looking forward to the success of this new target. Please tell us the progress of the development of the project regularly. Thanks again!
Quote from: stevmjon on October 30, 2022, 10:03:45 PM
something in the works. sounds exciting.
PlayBASIC is being reborn. Yeah!!! :)
Steve,
I'm always fooling around with something..
Quote
i've been thinking of having another look at playbasic fx. i wasn't sure how to get started when i looked at it years ago.
over the years my knowledge of 2D/3D have improved, as well as understanding what a pipeline is. so another look at it should prove fruitful (compared to my first attempt).
Well, I'm just saying that such things existed and that such conversations have been had. Not that you should use it today :) as PBFX builds are something like 15 years old today..
I have thought about grabbing the command sets from those old builds and making them available from modern PB. Which is probably possible, depending upon hot tightly they were written against the PBFX runtimes.. That stuff is based Direct 3D #7 though. So it's old as
Quote
open GL worked on my older graphics card, when i ported my 3D engine to work with it about a year ago, but my new graphics card say's no... i can't even open 16bit fullscreen with the new graphics card.
it is an RTX 3070 card.
direct 3D seems to be the future.
Vulcan is the future which is the GL successor. Multiplatform, shaded are all optimized for what can only be termed the shader arrays found in modern gpu's..
also it's pretty common for modern cards no longer support 8/16/24bit directly. Even older cards removed classic bit depths and resolutions. Which is pretty annoying, but I guess they can't support legacy stuff forever.
I thought playbasic 1.6x was using dx7 direct draw(2D) command set, and that playbasicFX was dx7 direct 3D command set.
so comparing these 2 command sets, wouldn't playbasicFX be faster and work better on modern computers?
Mod Edit Note: Sorry I think I must have hit the modify button thinking it was quote and replied over your original message . :(
Quotethought playbasic 1.6x was using dx7 direct draw(2D) command set, and that playbasicFX was dx7 direct 3D command set.
so comparing these 2 command sets, wouldn't playbasicFX be faster and work better on modern computers?
Yep standard PB uses Direct Draw, were as FX builds use the combination of Direct Draw and Direct 3D.
So 2D stuff in PBFX actually defaults to direct draw in order to be remotely compatible with PlayBASIC. To switch to 3D; you have to load the images as textures (onto the gpu) which is what the 3D options are in the image format in those editions. Ie. Video / FX / AFX and 3D. Those images can then be rendered / transformed as triangle polygons. The benefits are that you get transformations / filtering and some limited drawing effects such as Tinting / alpha blended & alpha addition with minimal impact..
But.. there's more than a few BUT's
All the same limitations exist, you can't draw between surfaces etc etc and the kicker is that GPU's of that era had tiny texture caches. This places limitations on how much texture data and at what resolution your textures can be. Cards had psychical limits on sizes due to only having a small amount of memory like 64 / 128 / 256 / 512 meg on the card. My duron system has a 64meg card in it :)
I see no reason for PBFX stuff to not run ok on modern hardware; but it all comes down to how well they support those legacy drivers..
QuoteWow! You wrote a detailed post to explain the difficult situation of PlayBASIC to us. I fully understand now. Thank you very much. I am very glad because you are very passionate. Your target is our new hope! Sure! We are really looking forward to the success of this new target. Please tell us the progress of the development of the project regularly. Thanks again!
I've released regular blog updates constantly.. have done for years!
Here's two from the last two weeks.
PlayBASIC-BLOG- Topics - Website - Ray Tracing & Operation Watergate (https://www.underwaredesign.com/forums/index.php?topic=4680.0)
[plink]PlayBASIC - Web Dev Blog - 90 percent bots and sinking (2022-11-03) (https://www.underwaredesign.com/forums/index.php?topic=4651.msg30957#msg30957)[/plink]
The view stat's show that people don't read / watch them !
Quote from: kevin on November 04, 2022, 08:54:37 PM
I've released regular blog updates constantly.. have done for years!
I believe that PlayBASIC will succeed finally.
just wondering if playbasic FX will run faster than playbasic if i converted my 3D engine over?
can playbasic FX use hardware acceleration?
Quote
just wondering if playbasic FX will run faster than playbasic if i converted my 3D engine over?
Which one ?
For the software rendering /texture mapped engine then it's unlikely to run any faster in those PBFX builds out of the box. The same goes for the Ray tracing stuff.
PBFX builds do have a 3D mode; so 3D camera and you define a mesh for a sprite to be viewed from the camera. But then probably 95% of your software render isn't even needed. So it's really a different program. But you could do that ! as for learned how it works today that's up to you. I've no idea what state any of that is in. :(
Quote
can playbasic FX use hardware acceleration?
Yep and so does normal PB.. if you built a version for PBFX the 3D would be rendering on the gpu side.
from my understanding, hardware acceleration is using the graphics card gpu to do calculations which it can do in parallel.
so the gpu can calculate multiple 'pixels' at the same time?
how does normal PB use hardware acceleration? is this when you have an image in video memory, and this is drawn directly to the screen as solid/transparent, as this uses the gpu?
or is hardware acceleration in normal PB using openGL (which i can't use with my new graphics card)?
Quotehow does normal PB use hardware acceleration? is this when you have an image in video memory, and this is drawn directly to the screen as solid/transparent, as this uses the gpu?
Yep.. in PB this is done using hardware accelerated direct draw interface.. But.... there's a but.. While these API's are still around; they're not supported very well in modern windows (win 8 onwards) and therefore modern GPU drivers. So how well they handle it; is how they handle it..
It's like your partner telling you they'll always love you; right before they wander off with your best friend.. That's what hardware support on the PC is like..