raylib-64
#1
This is a QB64-PE binding library for the popular raylib library. raylib is a simple and easy-to-use library to enjoy videogames programming.

a740g/raylib-64: QB64-PE bindings for raylib (a simple and easy-to-use library to learn videogames programming) (github.com)

https://github.com/a740g/raylib-64/archi...master.zip

Note that this is still a work-in-progress. However, many things already work. Please read the FAQ and notes in README.md before using the library.

Open any feedback / issue here: Issues · a740g/raylib-64 (github.com)

Pull Requests are welcome.  Smile

Cheers!

Update: Finished bindings for 2D physics library Physac.

[Image: screenshot2.png]

[Image: screenshot3.png]

[Image: screenshot4.png]

[Image: Screenshot-2023-07-23-042302.png]
Reply
#2
Thumbs Up 
@seriously serious what is PR?

Anyway, a good Raylib has to be a boon to gamers, nice going! last screen shot is really cool!
b = b + ...
Reply
#3
(06-23-2023, 02:20 PM)bplus Wrote: @seriously serious what is PR?
PR = Pull Request
Reply
#4
Awesome! Another game making library for the community. Between this and Justsomeguy's 2D physics library I'm going to be a busy and happy game programmer.

Thank you for taking on this project.
Software and cathedrals are much the same — first we build them, then we pray.
QB64 Tutorial
Reply
#5
(06-23-2023, 02:46 PM)a740g Wrote:
(06-23-2023, 02:20 PM)bplus Wrote: @seriously serious what is PR?
PR = Pull Request

Ah a github thing, so you don't want help with PR Public Relations promos Smile

Well too late, looks like you've got Terry hooked LOL
b = b + ...
Reply
#6
I've been researching a method of doing modern graphics in QB64, and finally stumbled upon raylib and it seems that you already have done a huge amount of work on this project.

Are you still actively working on this? I would like to help.

Incidentally, I saw that you you have physac on the TODO list. Since, I have working on my own physics engine, I looked over the code base for it. Its basically the same code I ported over to QB64, but lacks joint functionality. Physac is likely much faster since it is in C and uses threads.
Reply
#7
(07-22-2023, 05:19 AM)justsomeguy Wrote: I've been researching a method of doing modern graphics in QB64, and finally stumbled upon raylib and it seems that you already have done a huge amount of work on this project.

Are you still actively working on this? I would like to help.

Incidentally, I saw that you you have physac on the TODO list. Since, I have working on my own physics engine, I looked over the code base for it. Its basically the same code I ported over to QB64, but lacks joint functionality. Physac is likely much faster since it is in C and uses threads.

Yes. I am working on this. Progress is slow due to work and stuff. Sad Any help is welcome.

Writing the bindings for physac is easy. Actually, I am kinda halfway through that.

raymath is a bit more challenging. But I think I can pull that off too with a little bit of effort.
Reply
#8
I adapted my barebonesfzxNGN demo to your raylib library and It went well.  I had to do some modifications to the engine, but its good to see what scenarios will break it. Raylib was not happy with my camera code, so I had to remove cameras, and just use the screen space. I'm sure raylib has its own camera functions.

Since you already have a physac in the works, I wont do a PR.

A lot of the functions and types are generic, and it might be a good idea to put some hints in the function name. For example, "Vector2" to "rylbVector2". I know that's a lot work, but it will keep different libraries from conflicting with each other.   

I saw that you were having issues with the fact that QB64 can't return UDT's. I ran into this issue with fzxNGN. I ended up passing a UDT as an argument to a SUB and then modifying the UDT since it is passed by reference. It is far from an elegant solution and there are some gotchas, but I made it work. 

Let me know what you need help with.
 

[Image: output.gif]


Attached Files
.zip   raylib-64.zip (Size: 15.85 MB / Downloads: 34)
Reply
#9
Quote:I adapted my barebonesfzxNGN demo to your raylib library and It went well.
I just saw the barebonesfzxNGN demo and it is awesome. I was quickly able to overwhelm my system, but I guess that is expected. physac also behaves the same way.

Quote:I'm sure raylib has its own camera functions.
Yes. raylib has its own camera functions. I've not played with it yet though.

Quote:Since you already have a physac in the works, I wont do a PR.
This is done! I just put the physac bindings on GitHub. It's not pretty. But it works. I also ported over the physac demo.

Quote:A lot of the functions and types are generic, and it might be a good idea to put some hints in the function name.
Yeah. That is true. My goal is to leave as much of the raylib API untouched as possible so that porting raylib compatible code from other languages becomes somewhat bearable.

Quote:I ended up passing a UDT as an argument to a SUB and then modifying the UDT since it is passed by reference.
I am doing the same as well.


Quote:Let me know what you need help with.
Since you are using this thing, please feel free to open PR and issues on GitHub. Porting over more official raylib examples would be nice. I caught a lot of binding issues while porting stuff over.
Reply
#10
Quote:I was quickly able to overwhelm my system, but I guess that is expected. physac also behaves the same way.
So, do you have an estimate of how many objects you created before it started killing the frame rate? On my laptop I was able to keep 60 FPS up to about 90-100. QB64 default renderer I would get about 80 before the the FPS drop.

I think I might try my hand at the shader demo. If it works I'll PR it.
Reply




Users browsing this thread: 4 Guest(s)