Published Sunday, March 18, 2007 by Glow.
After getting some inspiration from ProFX
, a commercial procedural texture engine, I made my own vector rasterizer node for Gentex this weekend. It currently only supports SVG files, and only a vary limited subset of SVG's features. Only colored lines of variable width to be precise :) But it's already quite useful. Rasterizing is btw completely performed by GDI. Support for filled shapes, curves, gradients etc might be added later on.
Published Sunday, March 11, 2007 by Glow.
Normalmaps are finally working correctly now. I already had support for them but they were completely buggy. Since I can now render directly to Maya's viewport, it was much easier to find the bugs in my shaders and mapping code.
Anyway, this already makes it possible to create much cooler visuals. Although I perhaps have to implement some other lighting models than my current phong implementation. Everything looks so plastic this way ;)
Published Thursday, March 08, 2007 by Glow.
Yes, my viewport renderer is working. At last. It can currently render the active scene into any viewport (and even multiple at the same time). It uses the selected camera, so you can swap between any of your cameras. And you can interactively modify the camera orientation by panning, rotating, etc..., just like any other normal viewport.
I've currently implemented "forced cooking". You have to run a mel script to update the scene data that's rendered in the viewports. Maybe I'll implement an intelligent update mechanism, so you won't have to force an update.
Anyway, I still need to do a lot of cleaning up in the code. But it's already working great. When everything is a bit more stable/final I'll have to make cool video out of this.
Published Sunday, March 04, 2007 by Glow.
This weekend I've been working on a viewport renderer that integrates into Maya 8.0
. I want to use exactly the same rendering code as the standalone viewer app uses. But since my viewer isn't quite the most stable app around (demo's don't have to be stable :)), I didn't want to execute my rendering code in Maya's process. (Since a crash or a memory leak in my own rendering code would probably completely crash Maya). So for that reason I've implemented my viewport renderer as a client/server setup, where I have a renderer-server running in the background and Maya serving as a client requesting for the rendering of frames. Communication is done through named pipes. The renderer server renders its frames into a piece of shared memory which Maya displays into its viewport. I haven't actually implemented the rendering yet btw. The current renderer only clears the screen to green :) (but it already uses DirectX to do this)
Ohw and I've been looking into wxWidgets
. I'm getting
tired of designing windows and dialogs using crappy Win32 resources. And wxWidgets really looks promising. I've spent almost my whole sunday afternoon building, testing, crashing, linking and rebuilding wxWidgets and my nerve plugins before I found the magic combination of library build flags that didn't crash Maya or wxWidgets... (grmbl) Anyway, I finally have wxWidgets integrated into my maya plugin. And my first wxWidgets powered dialog is already up and running :) (although it doesn't do much yet)
On to the next step: build the actual renderer.