Materials in Maya


This weekend I got the Gentex materials working in Maya. Still with a lot of side issues, but hey.. it works :) You can create a special Gentex shader, just like you would create a Lambert shader. This Gentex shader can be used in Maya just like any other shader. When you select it, a large "Edit in Gentex..." button will appear, which will launch Gentex and load the selected material in it. You can then modify the material, and save it. Then when you close Gentex again, the selected material will regenerate its bitmaps to reflect the changes. This works great ;)

And everything gets stored in the .mb file. No external files are used.

But it's still a bit buggy. I still need to pay a bit more attention to illegal cases. Like when there's an error while regenerating a bitmap. At the moment my plugin crashes hard, taking down Maya with him :)

Ohw, and my short paper for SIACG2006 got accepted. So next week I'm off to Santiago de Compostela in sunny Spain. But I still have to prepare lots of things, so the development of Nerve has to wait a week (or two...).



Although the weather wasn't cooperating this weekend (it was, again, quite hot here :(), I've been able to do some work on Gentex. I've added a new node, a Displacement node. You can see an example texture using only subplasmas, displacement nodes and mixers here on the right. This new node is quite useful for creating organic-looking textures.

I think I won't do any more work on Gentex for a short while now, since I'm going to focus a bit more on the rest of Nerve. Things as the export plugin and the custom gentex shader for Maya still need a lot of work. They're hardly usable atm. The first point of attention is getting these Gentex generated-textures visible and usable in Maya.

Ohw, and I've also added a new release of GentexEditor to the downloads page. Together with a new example material (the one from the image above).

Demozone here I come :)


There's another demoparty on its way. It's called DemoZone and will be held around July 30 somewhere in Flevoland (it's part of CampZone which is a huge LAN party where everyone brings his own camping gear and tries to survive for a week).

I'm going to work on a 64k demo for DemoZone. And since there are still 7 weeks to go I should be able to finish something better than Obsoleet :) (well as long as my work, my thesisproject and the weather don't interfere too much)

Ohw and I started work on a custom tiny c lib. With the help of WCRT, LIBCTINY and this site. Using the tiny c lib, I've managed to create a Gentex image generator in an executable of 7kb (of which 4.5kb was taken by Gentex). This is already a lot smaller than the ~60kb I got using the default lib (LIBCMT.LIB).

Lessons from Outline 2006


Okay I'm back from Outline 2006. I've actually managed to create a small 64k demo at the party place. I started on saturday morning at around 9:30 and worked through the night till sundag afternoon at around 18:00, which was de deadline. I started with only a kind of working Gentex and an exporter and geometry plugins for Maya, but they all used XML. So I had to build my own renderer and mini demo engine. And I also made a crappy animation evaluater. The final result is way less than what I hoped it would become, but I think it's okay for one and a half day of coding.

During the coding I experienced lots of problems, of which some were just plain bugs crashing your whole demo (never forget to init your classmembers in teh constructor! it can same you a whole hour of debugging :)), and some where fundamental design problems (using XML in your 64k demo is not size-efficient ;)). The things I learned this weekend can be summed up to this:
  • Don't rely on XML completely. The demo should use it's own custom packed format. I first build in XML support (using TinyXML) but then I didn't have much time left to implement a completely packed data format. So I made my own XML to kindof-binary-XML convertor. So I just had to write my own XML reader with exactly the same API as TinyXML, but which uses the binary XML files. Well it worked fine. But it's still not very size efficient. In the future I should my own binary packed format. And let the demo use that one from the start.
  • Create your own crt lib, with only the needed essentials. I used Visual Studio 2005 at the start, saturday morning it was. But it created way too large exe files. In the past I used Visual Studio 2002, which is capable of creating way smaller files. After some analysis it turned out that the problem could be solved by creating my own CRT lib, and use the "Ignore default libraries" option, ignoring the default LIBCMT.lib. This was not something I wanted to spent too much time on, since I haven't done this before, so I simply decided to port back to Visual Studio 2002. But for any upcoming projects I really need to spend some time on setting up my own tiny CRT lib.
  • Linear interpolations suck :) I was too lazy to implement smooth TCB animation curve support. But the linear interpolation I used in the animation curves for the demo were really sucky...
  • Don't create an engine and tools at teh party place :) Next time I only want to focus on visual design at the party place ;)
  • Sound makes up 50% of a demo. Not in size, but in resulting quality.
  • UPX is absolutely not the best packer around. I used UPX on our demo. If I had only done some googling I would have known that there are better free packers around. I could have squeezed out another 8kb of packed data. That would be around 30/40kb of unpacked data! That's a lot :(
  • I need more nodes in Gentex. People don't like checkerboards and simple plasmas.
Thanks go out to Izard, Cosmic and Cyrex for creating a cool soundtrack using a tool they'd never seen or touched before. And thanx go to some guy named Dylan for giving me the lib of farbrausch's soundengine, named V2. Integrating v2 in the demo only took 15 mins. And it works great. But on my next project I think I'll create my own tiny engine, using Buzz machines, rather then falling back to v2.

Ohw and we were ranked second (out of three contestants ;)), which got us 25,- euros and a free t-shirt! Hooray! :)

You can download Obsoleet here:

Outline 2006


Together with my friend Izard from Inque I'm going on an adventure to Outline 2006 tomorrow. That's a small demo party near the city of Arnhem. Which is kind of nearby (compared to the places where most of the other larger demo parties are helt). Until two days ago I didn't have any plans for going, but then I heard Izard went, so well I just had to go too :) It's been a long time since I've been to a demo party (my last one was TakeOver 2001, where we, Inque, release our 64k demo Helix), so I am kind of excited going to Outline.

Ohw and I'm going to try to make a 64k demo while I'm there. I still don't know what the deadline is, but hopefully I have more than like 10 hours to work on de 64k. The only thing I have working right now is Gentex. So I'll need.. ehm.. a gfx renderer, some export stuff for Maya, an animation system and a sound engine. Well... maybe I'll need more than 10 hours :)

Anyway, this will be a nice experiment to see how Gentex will behave in a demo system.

About me

Project overview


Last posts


Partners in crime


ATOM 0.3

Powered by Blogger