This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
CrazedProgrammer's profile picture

What would you want from a graphics API?

Started by CrazedProgrammer, 24 June 2015 - 06:33 PM
CrazedProgrammer #1
Posted 24 June 2015 - 08:33 PM
I am currently working on a graphics API named OpenGraphics, and I was wondering what people would want from a graphics API.
It will be open source and everyone will be able to collaborate to it and fork it.

Here is the basic design that I think would be good:
- Modular design, no function dependencies so you can only have the functions you want.
- Ability to put it directly into your program or load from a file using dofile.
- Canvases (optimized drawing buffers).
- Video (streams?)
- SPEED!

So, what would you want from a graphics API that you might actually use?
Edited on 26 June 2015 - 05:17 PM
Lupus590 #2
Posted 24 June 2015 - 09:06 PM
framebuffer compatibility/compliance so I can use VNCD and NSH

optimised nesting of buffers
Edited on 24 June 2015 - 07:08 PM
KingofGamesYami #3
Posted 24 June 2015 - 09:13 PM
Documentation and Tutorials. Also, no multiple-file weirdness like Bedrock.
FUNCTION MAN! #4
Posted 24 June 2015 - 09:20 PM
Github. Is this going to be like OpenGL?
CrazedProgrammer #5
Posted 24 June 2015 - 09:28 PM
Github. Is this going to be like OpenGL?
It will be hosted on GitHub :D/>
It will be more like SDL or HTML5 Canvas than OpenGL.

Documentation and Tutorials. Also, no multiple-file weirdness like Bedrock.
I'll try to make good documentation and tutorials on a GitHub wiki.
Maybe even a series of tutorials on YouTube :D/>
It won't have multiple files.
You can copy and paste code directly into your program to avoid having external files.

framebuffer compatibility/compliance so I can use VNCD and NSH

optimised nesting of buffers
I'll make a function so you can get a term object from a canvas.
The function that you use to draw a canvas on top of another canvas will be highly optimized.
Edited on 24 June 2015 - 07:32 PM
MKlegoman357 #6
Posted 24 June 2015 - 10:59 PM
I've read somewhere that this API will have support for 3D. If so, then full 3D framework so we could create not only boxes, but boxes with custom textures. No really, that would be AWESOME! :D/>
CrazedProgrammer #7
Posted 25 June 2015 - 07:11 AM
I've read somewhere that this API will have support for 3D. If so, then full 3D framework so we could create not only boxes, but boxes with custom textures. No really, that would be AWESOME! :D/>
I might make a raycasting engine so you can make games like Wolfenstein 3D :D/>
クデル #8
Posted 26 June 2015 - 07:36 AM
Not really sure if its a decent suggestion, but maybe you could include a physics engine of some kind? allowing for easy animations such as falling text.
oeed #9
Posted 26 June 2015 - 08:47 AM
Also, no multiple-file weirdness like Bedrock.

:o/>

Why don't you like multiple files? The overwhelming majority of (good) programming platforms and languages utilise multiple files.



But anyway, on topic.

I'd say go 3D, there are lots of other drawing APIs (not to mention your own). No one's done a 3D other than demos and with shiny new graphics coming it's gona be even better.
Edited on 26 June 2015 - 06:53 AM
CrazedProgrammer #10
Posted 26 June 2015 - 09:17 AM
Not really sure if its a decent suggestion, but maybe you could include a physics engine of some kind? allowing for easy animations such as falling text.
Yes it's a decent suggestion :D/>
I'll think about it.
CrazedProgrammer #11
Posted 26 June 2015 - 01:00 PM
Also, no multiple-file weirdness like Bedrock.

:o/>/>

Why don't you like multiple files? The overwhelming majority of (good) programming platforms and languages utilise multiple files.



But anyway, on topic.

I'd say go 3D, there are lots of other drawing APIs (not to mention your own). No one's done a 3D other than demos and with shiny new graphics coming it's gona be even better.
I think it's because people like having all-in-one files that don't clog up the file system.

I'll certainly try to make 3D functionality with ray casting or maybe even a full 3D triangle rasterizer.
Goof #12
Posted 26 June 2015 - 01:13 PM
Why don't you like multiple files? The overwhelming majority of (good) programming platforms and languages utilise multiple files.
I think it's because people like having all-in-one files that don't clog up the file system.
i wont agree on that part. People have their own opinions of course, but i would rather have an optimized folder, with All the API's in it, etc, instead of having a totally messed up AIO (all in one) file, where all the "files" are damn hard to find.
But lets wait and see for the new Silica to release.


OnTopic: I would like god damn SPEED! all (almost) graphic API's are so damn "slow" which results in messy/laggy programs where User Experience should've been ideal
FUNCTION MAN! #13
Posted 26 June 2015 - 05:24 PM
Also, no multiple-file weirdness like Bedrock.

:o/>

Why don't you like multiple files? The overwhelming majority of (good) programming platforms and languages utilise multiple files.



But anyway, on topic.

I'd say go 3D, there are lots of other drawing APIs (not to mention your own). No one's done a 3D other than demos and with shiny new graphics coming it's gona be even better.

But all sane languages get those multiple files and pack them into a thing called an 'executable'- it's quite magic to say the least
Edited on 26 June 2015 - 03:36 PM
Lyqyd #14
Posted 26 June 2015 - 05:52 PM
Well, except when they don't–shared libraries are used in all major operating systems so executables can take advantage of them without needing to bake the library into every executable that uses it.
CrazedProgrammer #15
Posted 26 June 2015 - 07:06 PM
Why don't you like multiple files? The overwhelming majority of (good) programming platforms and languages utilise multiple files.
I think it's because people like having all-in-one files that don't clog up the file system.
i wont agree on that part. People have their own opinions of course, but i would rather have an optimized folder, with All the API's in it, etc, instead of having a totally messed up AIO (all in one) file, where all the "files" are damn hard to find.
But lets wait and see for the new Silica to release.


OnTopic: I would like god damn SPEED! all (almost) graphic API's are so damn "slow" which results in messy/laggy programs where User Experience should've been ideal
I'll optimize it as hard as I can, even if it would mean a bigger file size.
Edited on 26 June 2015 - 05:07 PM
HydroNitrogen #16
Posted 26 June 2015 - 07:12 PM
I would like some kind of Video support? or GIF like animations support?
CrazedProgrammer #17
Posted 26 June 2015 - 07:16 PM
I would like some kind of Video support? or GIF like animations support?
Yes video support would be cool for screen recording programs.
I don't know about GIF though, it seems really complicated and not optimal for ComputerCraft screens.
Creator #18
Posted 26 June 2015 - 07:44 PM
BombBloke has a GIF API.