Multithreading and scriptbindings (progress update)

January 3rd, 2011

Hello everyone!

First of all, happy new year to everybody! The Piko3D team have been partying ofcourse ๐Ÿ˜‰ but we also did some Pikoding!

Wracky is busy writing scriptbindings for AngelScript. We chose to write the bindings ourselves instead of creating or using a bindingscreator for maximum control. It may be tedious work, but adding functionality after creating the initial bindings is trivial.

I implemented a threadpool with job scheduling and started distributing scene queries and physics collisions over multiple cores. Next up is the multithreading of physics simulations, but this requires some changes in ODE which may take some time. Since I’ve bought an i7 laptop recently, it’s fun to see 8 cores at work ๐Ÿ˜€

Expect more progress and perhaps a tutorial soon!


New Tutorial: Space Partitioning!

November 30th, 2010

Hey everyone!

Today I’m glad to anounce that we have another TUTORIAL up! Paramike wrote a tutorial for you people on why and how Piko3D does its spacepartitioning, and the octree we’ve created for it of which we all think its awesome ๐Ÿ˜‰

You can now find it in theย tutorial section or click here

In the meantime: we’re not sitting still either! ย I’m currently working on finally REALLY implementing scripting. We’re refactoring our smartpointer/refcounting system a bit so Piko3D can seamlessly combine it’s own refcounting with that of Angelscript!

Rendering is still making progress thanks to Seriva, and Micron is implementing a simiple MD5 Model loader right now so we can easily get some ย basic input and testing material for bone animation!

That’s all for now folks!!
Talk to you later!

Kind regards,


Dynamic Octree Scene Graph! (Video)

October 16th, 2010

Octree Scene Graph Demo

Hey Everyone!

Seriva, Micron, ParaMike and I got together this friday/saturday for a little Piko3D development LAN! We worked together on various subsystems and made good progress! Micron started on support for bone animation and ragdolls, Seriva did some more prep-work for the OpenGL 3.x renderer and ParaMike and me worked on some minor fixes and a cool scene graph video!

I actually spend some time in blender again and created a little space ship to use in our tests and demos. We call him pete, and you can see a whole bunch of him flying by in the video as our dynamic octree tries to keep up ๐Ÿ˜‰ The video is devided in two parts. The top part shows you the action, while the bottom part shows the scene graph and objects as they move by ๐Ÿ™‚

Piko3D uses space partitioning (in this case an Octree) to be able to quickly determine different things, like what objects are in view right now, and which objects are getting so close together that physics should start worrying about collisions!

The Octree you see in the video is fully dynamic. There is no need to tell the system ANYTHING about how many objects there are in the world, how big they are and how they move around. Each node in the octree is autonomous and together they determine where a new root, new nodes or leaves need to be created, and who gets to be the root! This means that the entire octree can move around as it is needed. This is demonstrated in the video which shows a couple of hundred of space ships all moving right at the same time. Note that only the nodes that contain objects are drawn in the video, to keep things clear ๐Ÿ˜‰

Till next time!

Regards, Wracky.

Bitmap Font Rendering! (Progress update)

September 11th, 2010

Hey everyone,

Bitmap font rendering demo

Bitmap font label

Here’s a new progress update of what we did on Piko3D in the last few months! ย For starters, I implemented a simple GUI system which now consists of a simple panel and a label. Both elements support margin and padding, and can be parented to another GUI component for easy navigation. The Label is used for rendering text and uses fonts based on Angelcode’s BMFont Bitmap font generator! ย You can see the label being rendered in the screen shot.

For now it only supports BMFonts Binary format, and Piko3D still only supports PNG textures.

In other news:
We’re still working on a number of other things. Micron is working on improving and optimizing frustum culling, and intersections between basic shapes, like cubes, spheres and of course, the frustum, which is just about done really!

In the mean time, Paramike is working on our awesome dynamic octree for our space partitioning, in which every cell is autonomous. Together they produce a dynamically relocating, growing and shrinking octree that will adjust itself as it is required, to provide an easy and quick way to query objects in our scene.

Seriva is also still helping out (although he’s on a holiday right now) and I’m glad to tell you that he started on the loading/parsing of Shader programs! So perhaps we will be showing you some screenshots of a new renderer soon ๐Ÿ˜‰

Well! Piko3D is still a thing we do for fun, and although we still spend a lot of time in Starcraft 2, Dragon age, Mass Effect 2 and what not, I’m glad to see things get done ๐Ÿ™‚ On that note: I’ll be on holiday too for the next 2 weeks, so no Piko3D news/development from me during that time.

Untill next time!


Wait for it ;-)

September 7th, 2010

No we’re not dead!

New progress report soon..
(With some (not too exiting) screenshots! ๐Ÿ˜‰

Stay tuned!


Progress report!

May 30th, 2010

Hey everyone!

Been a while since I posted anything up here, but rest assured, we’re still at work!
In the last few weeks we’ve been busy with some of the more basic functionality for Piko3D.
Problem with such things is that it does not give us nice pictures or movies to show you ๐Ÿ˜›
So here’s a list of what we’ve done lately

  • Basic scene graph was made (more advanced graph in the making)
  • Basic frustum culling works
  • Wrote my own little INI parser for use with config files.
  • Added extra ODE physics joints
  • Started with Shader resource management for the renderer
  • Objects now have bounding volumes.
  • Basic math for intersecting AAboxes, spheres and pyramids.
  • Been poking around in SDL 1.3 to see if I could get the mouse to behave!
    (our gateway to OpenGL 3.2 and ES 2.0!)

Aside from that, the team’s struggling with the worldly temptations like Mass Effect 2 and currently Heroes of Might and magic 5 for me ๐Ÿ˜›
So we take our time, but still have great fun doing this ๐Ÿ™‚

Keep you posted!


Added ODE Motor and Joint implementation! (Video)

April 10th, 2010

ODE joint and motor demo

Hey everone!

Here it is. I’ve been adding support for ODE joints and motors to Piko3D. Joints come in many types, and can be used to create hinges, balljoints, universal joints, pistons, sliders etc. ODE gives us the option to add motors to joints. which can be used to make things move.

I’ve made a little video again that shows a small car driving through a set of doors and crashing into a wall. Took me some time to set it all up so I hope you like it ๐Ÿ˜‰ enjoy!


Update: Click here for the alternate version

Satus update: Piko3D and the N900 ?

April 8th, 2010

Hey everyone.

I see that some users come here looking for a 3D engine for Maemo or the Nokia N900.
I made a news post a while back about me looking into the Maemo SDK as a means to port Piko3D to my N900, and I wanted to give you a bit of a status update on what’s going on in that department!

I first ironed ย out some minor problems I had with compiling Piko3D under linux on GCC. As said before, I’m now using Premake for managing the pik3D project, which makes all this SO MUCH easier..
The good news is: It builds!

I’ve also found ย ports for libSDL, ย LibPNG and libODE for the N900.

Here’s what I plan to do:
I first wish to bring Piko3D a bit more up to speed. As some of you may know, Piko3D doesn’t have a proper renderer yet. Scripting is only partially implemented (proper bindings are still missing) and the ODE implementation is not QUITE there yet… There’s no animation system in place yet, and no options for playing sounds.

Since Piko3D uses SDL for it’s basic windowing and messaging, I will be looking at SDL 1.3 for support for OpenGL 3.x and OpenGL ES 2.0. There may still be some problems with initializing SDL 1.3 on OpenGL ES 2.0 but Seriva is looking into that.

I’m currently working on physical joints an motors, of which I hope to post a new video soon. After that, I want to make a setup for Piko3D’s rendering and perhaps we’ll get to some animation aswel… When the basic functionalities are done, I will get back at porting Piko3D to the N900.

So that’s it! Just so you know, It’s still my intention to bring Piko3D to mobile devices, starting with the N900. ย Piko3D is still a lot of work, and we do this in our free time and for fun.. so progress might be a bit slow sometimes.

When I feel comfortable that piko3D is turning into an actual product, and things are roughly in place, I will open source the bugger and you can all have a look and help out if you like ย ๐Ÿ™‚

But until then, there’s ย still much to be done!


Wait for it…..

April 8th, 2010

Hey peeps!

Got some pikoding done again! Finished my second DragonAge: Origins run! No I’m still not done, I’m playing the Awakenings expansion now ๐Ÿ˜› BUT The last few days, I’ve been giving Piko3D some love and I’ll be uploading a new VIDEO soon ๐Ÿ˜€

In other news: Another friend, Micron, is helping out with Piko3D! It seems people like to have a little project to which they can contribute a little from time to time ๐Ÿ™‚ We’re still doing this just for fun.

So stay tuned! o_O


Delays due to DragonAge…

March 5th, 2010

Damn you Bioware!

You are stealing my precious Piko3D development time!
Damn you and your DragonAge which has already taken up 50+ hours!


« Newer PostsOlder Posts »

Creative Commons License
This work by piko3d.net is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Netherlands License
Powered by WordPress