WebGL

Anything and everything about programming graphics with Ultibo
Gavinmc42
Posts: 1595
Joined: Sun Jun 05, 2016 12:38 pm
Location: Brisbane, Australia

WebGL

Postby Gavinmc42 » Sun Dec 09, 2018 11:49 am

Found an interesting presentation that talked about OpenWF.
Page 10 - hardware blitter?
https://www.khronos.org/assets/uploads/ ... erview.pdf
Not a lot of help from RPF ;)
https://github.com/raspberrypi/firmware/issues/735
I wonder if this was done in hardware on the VC4?

I have been going through all the old posts about WebGL, they go back 2 years ;)
Why?
Because I kept running into WebGL games when looking at OpenGLES.
My 10 year old showed me a simple car slalom game he made tonight in Roblox, it only took him 15mins to make it :o
Took him longer to make a video of him completing the game :lol:
Is it that easy to make WebGL games?

Are all the pieces now in place to do a WebGL type browser with Ultibo?
Could WebGL games be made that could run on Ultibo?
Some sort of JS parser would be needed?

One project I have been doing over the years is a web based data logger.
3D visualization on a browser is a missing bit hence me looking at 3D coding.
What if the browser was on a Pi too, does it need to run Chromium?
Why not a Ultibo lightweight 3D viewer?
Short step to online 3D games, Ultibo webserver runs on QEMU too :D

OpenWF could have helped with the HTML5 canvas? Use Dispmax?
OpenVG does the SVG.
OpenGLES does the WebGL.
OMX does audio and video.

All the pieces work now in Ultibo.
What glue is need to join the dots?
User avatar
mvdhoning
Posts: 11
Joined: Thu Dec 06, 2018 6:51 pm
Contact:

Re: WebGL

Postby mvdhoning » Sun Dec 09, 2018 2:14 pm

You need to write your own browser application i guess
- so you need a javascript parser
- you need to translate (gl.) webgl calls to opengles 2.0 calls
- optional html parsing to get to javascript parts.

As an exercise you could take a simple application that draws a cube and rotates that and translate that to pascal and run it.
https://www.tutorialspoint.com/webgl/we ... tation.htm
Also in the examples from ultibo is already an 3D cube example using opengles.

For javascript parsing in pascal you might want to take a look at:
https://github.com/BeRo1985/besen (native javascript parsing written in pascal)
or embed chrome js part:
https://github.com/zolagiggszhou/v8delphiwrapper
Gavinmc42
Posts: 1595
Joined: Sun Jun 05, 2016 12:38 pm
Location: Brisbane, Australia

Re: WebGL

Postby Gavinmc42 » Mon Dec 10, 2018 2:50 am

Thanks for the besen link mvdhoning.

Benjiamin has other interesting stuff too.
GLTF is something I have only vaguely heard about, he even has a viewer, which could be the start of a browser.
Lots of stuff useful for 3D, gaming and networking, all in Pascal :D
Going to have to add networking gaming to the Ultibo Gaming post now.

Networked 3D version of Battleships, Checkers, Chess?
Those are simpler as you play against a person not an AI?
Good way to learn 3D coding, then AI can be added for single player or even QEMU Ultibo online AI players.
So much to learn, so little time.
https://www.khronos.org/gltf/
Gavinmc42
Posts: 1595
Joined: Sun Jun 05, 2016 12:38 pm
Location: Brisbane, Australia

Re: WebGL

Postby Gavinmc42 » Fri Jan 11, 2019 3:17 am

I ran into an article about baremetal containers.
Turns out baremetal is referring to applications running on the baremetal and not in a container with the OS like most VM/Docker stuff does.

One thing I use Pi's for is data visualization of logged data.
I don't have OpenGLES 3D visualization yet but that's not needed if a browser is used to view the data logged on a Pi then served over a network.

If that server is running in Ulitbo on QEMU on a PC etc does that become what they call a "baremetal container"?
Ultibo as WebGL data server on QEMU is a baremetal container app?
That is big business?

Return to “Graphics”

Who is online

Users browsing this forum: No registered users and 1 guest