The weekends plans

Yay! Friday finally came around and it’s the evening. I’m currently on a wind down, my body is aching and I’m mentally and physically zapped out. And that’s why I’m writing an update.

Over this last two weeks my website has had a few changes to it, such as https and a theme upgrade, oh and a few speedups which really did need to happen. As mentioned in an earlier blog post, there’s still a couple of minor changes that need doing, but they’re not important at the moment.

My big project I want to get back to work on over this weekend because I’ve kind of left it behind for a while. Most times when I get home from work, I just sit on my backside watching TV with my laptop. So to fix this problem, I transferred all my projects to my laptop. Win win. I already had the router set to divert a test port to this laptop anyway, so with that change in the sources, last night, everything was back up and running, 100% perfect. The mobile app has just two things to finish off, and the media manager will get a rewrite.

I have noticed that the WebGl demos only work on full screen now and not embedded in a frame since the https thingy update. If I get round to it, then I’ll look into it. Web stuff really ain’t my thing, hardcore programming is.

If I get bored over the weekend I might also create a new home hosted website using GWT or CopperLicht even. We’ll see.

Early night for me tonight because it’s been three nights on the trot of hitting the weights bench. I think the peas on my arms are growing.

Until next time.

WLGfx

This website

I’ve still got a few formatting issues with this theme which will be ironed out over time.

I’ve noticed two so far. One with images not stretching to 100% of the posts width. And the other with using the <pre> tags and the line spacing.

Apart from that, I’ll be re-organising the menus so they look a lot better and categories stuff.

I’ve added a new java page about thread pooling which I want to work on a C++ version of it over the next day or two for my personal project.

Catch y’all soon.

Not much of an update but here goes

Got many plans, and little time to get everything done. The story of my life. he he

Anyways… My journey with the ffmpeg API has now taken another turn. Now I’m travelling the realm of using the AVIOContext. This is because I need to temporarily store a UDP transport stream locally when a pause of playback is required. Before the weekend I was non the wiser of how to do this, but after a good think about it, sorted.

All I need to do is to join the multicast stream manually, grab the packets, buffer them up and when ffmpeg, via the AVIOContext requests data, just send it. Simple. One problem I’ve yet to face is that after a pause, I want to be able to seek through the saved stream. I’ll come to that.

As for my own stuff. I’m kind of halfheartedly putting my feet up. I really need to put my feet up properly actually but I’ll take what I can get.

WebGL interactive

Nothing to show yet because it would be quite dull, but I’ve got mouse movement and click interaction working in the 3D scene. Basically, if the mouse clicks an object (when it’s not occluded) it will do stuff. And when the mouse hovers over an object. Old school really, but for WebGL, this can demonstrate a lot.

And at this time of night, I’m goosed.

Another little test on water in WebGL

I’d ‘scene’ it done lots of times and I already knew that CopperLicht could do it out of the box anyway so I thought a quick 5 minutes to get something done.

I wanted to have reflective water.

View the WebGL page

Most of the time when I get home from work I am ‘goosed’ and my brain just stops for the rest of the evening. I’m hoping to change that over the next coming months.

Now that I’ve faffed about with CopperCube, it’s time to use my old Irrlicht experience and put it to some WebGL stuff using the CopperLicht 3D engine. I’ve recently purchase a level editor that allows me to create Quake 3, Half Life, etc maps. All of which can be loaded into CopperLicht and Irrlicht. With the built in collision I plan on creating a ‘maybe’ funny scene using some dodgy A.I. running around a fully light-mapped scene. I’m already looking into it.

Over the next day or two, most likely two, then again maybe longer as the mother in law is down… I want to be a bit more creative with a level design and coding. The thorn in my side is Javascript. I’ve always avoided it because I’ve considered it useless, but lately after finding that the later browsers now compile it into byte code, it’s a little more impressive.

Still don’t like it.

Press SPACE to continue…

WebGL Demos

Okay, a new page WebGL Demos has been added. So far these have just been knocked up in CopperCube using the CopperLicht WebGL 3D engine. Very easy to use and for demonstration purposes, good for eye candy shows.

 

I’ve always tried hard to stay away from HTML, CSS and Javascript because I never saw the point when I’m a programmer that can do so much more than front end web stuff.

As time goes by I will be showcasing other engines such as LibGdx and Parallax3D.

So keep your eyes peeled…

Linux shell scripts

Another thing I’ve been playing about with for the last couple of weeks is automating stuff using shell scripting.

Wow! How much time can it save you by just writing a simple script.

There’s been loads of times when I wanted to backup my project. Not only can a small script do that but it can also rename and older backup file to something else as well. By just dropping a script into a directory and run it, I’m now capable of personal version control. Okay not quite the same thing, but I know what I mean.

I’m on the verge of now being able to run scripts to automatically update software on a remote machine too using ssl. So far I can package up various pieces of software (build them if needed too) and use the scp command to copy them to a remote machine. All I need to do next is to be able to run commands and scripts over ssl. Almost there.

This shell scripting is amazingly powerful.

Qt now works with the latest Android SDK/NDK

After a short time to install 5.9.2 of Qt and then without my fingers crossed even, I loaded up Qt and loaded one of the 3D Android compatible examples.

After the first build complaining about API level 1 I fixed that and ran it again. And voila! My phone ran it. All being very slow because it was that water demo one.

Woo hoo! Might be back to Qt for desktop and mobile app dev again.

Java vs C++ for 3D mesh building

A few days ago, playing around with LibGDX again I was getting back into 3D programming and created a very simple demo of a load of spheres and the camera rotating around the scene as below:

Which on my laptop ran just fine. It took about a second to generate all the meshes for each of the spheres.

Took bloody ages on my phone though, even though it’s a quad core 64 bit android phone. Approximately 5 to 8 seconds. Ouch.

None of this nonsense in C++ for starters. I know this from a very old project I was working back in the day. Procedural map generator. More about that here: PROCMAP DBP LINK

So for the last couple of days (actually on the evenings because of work), I’ve looked into creating a single sphere mesh and then duplicating it. In LibGdx

A minor problem to start off with is that a lot of LibGdx’s mesh generators have been deprecated and I don’t know how long for now, and I can’t find examples on how to use the new stuff. This would have made things easier, but that minor problem got bigger.

It seems that ModelBuilder only runs on the GL thread, so I tried the MeshBuilder. No luck there after trying to hunt info down on google, (Maybe google is hiding it from me :P) how to use the thing.

So I gave up, closed the project, might go back to it if the next step fails.

I’m waiting on a huge update from Qt. Oh! At this time it has finished downloading and updated.

The previous versions of Qt didn’t work with the latest Android SDK/NDK. Fingers crossed with this one…

Next…

A quick faff about

Faffing about with libGDX tonight, all in Java, I’ve realised yet again how simple it can be setting up sh.. stuff in Java.

I went straight into the 3D scene, two new classes, one as a controller for a demo scene setup and the first scene. The controller just does the timing which does zip at the moment. The second class is the ‘Screen’ which sets up my first screen. Really simple. A camera,  a cube and a simple motion.

I had to stop because of the time tonight. I really wanted to faff around with the mesh builder again and custom shaders. Gonna be some time before I produce those screens, but that’s coming up.