Piano Quartet

General Comments Off
    I’m playing in a piano quartet here and our first rehearsal was supposed to be today. We’re doing Brahms g-minor quartet. But Dr.Solomons, the pianist, was sick today so the rest of us went ahead and got together. It was pretty cool.

GIMP

    I installed GIMP 1.3.20 recently, and I like what they’re doign with it. I have long complained about that giant pop-up menu that they use. It’s a horrible user interface, although GTK 2.0 changed menus so that submenus stay open slightly longer after you leave their parent menu item and this fixes some of the annoyingness about GIMP’s űber-menu. But it’s still terrible. Anyway, the cool thing is that GIMP now has menus on the main editor window, which I think is a very good thing.

    I was giving a little bit of thought to improving the user interface even further, and I came up with an interesting idea. Since the big right-click menu is no longer necessary, right-click could be re-defined. I was thinking it would be really sweet to use a context-sensitive compass menu like Maya and Realsoft3D use. I don’t know if there’s a more common name for it, but that’s what Realsoft3D calls it.

    Once I get some time again, I may take a stab at writing a compass menu in GTK.

    I also think it would be cool if GIMP could have a compile-time option to add support for extra features provided by GNOME. For example, saving and loading remote files using gnome-vfs would be cool. I’d also like to be able to use Yelp as my help browser in GIMP.

Recital music

General Comments Off

I’m thinking about preparing a recital for sometime early next year, but I haven’t fully decided upon the program yet. I recently started working on Bach’s second violin sonata, and I know I want to perform that. I had been thinking to also do the Beethoven Notturno Op.42 and the Paganini Terzetto Concertante, but now I’m starting to think about possibly doing Brahms Op.120/1 instead of the Beethoven. We’ll see.

Delta Chrome

General Comments Off
    Really stupid sounding name, I think. It’s the new video chip that S3 is developing to try to target the mid-range 3d hardware market. It sounds like it might be pretty cool, and it seems like they have some cool-looking features in the works to go with it, like some Adobe Photoshop plugin accelerators using vertex/fragment programs. That’s interesting.

    I won’t be convinced until I see it, though. Anyone remember Glaze3D from Bitboys, Oy? It sounded pretty damned cool until it never came out. Then Matrox Parhelia was announced as being really awesome, and it wasn’t. Then there is the ongoing fiasco with the NV3x series.

    I like that they’re being pretty upfront about what this board will do and what it won’t. It does lend it a little more credibility. For example, it is very limited in terms of anti-aliasing abilities. This isn’t such a bad thing, I think. I tend to keep AA turned off anyway, because it just cripples performance usually and if you run in higher resolutions it’s not as useful. With modern chips’ fillrates on non-AA scenes, a higher resolution is a much better way of getting better quality. They’re also leaving out higher-order surfaces entirely, but I’m not really sure how much those features are used right now anyway.

    Still, it would be pretty cool if they pull this off and develop something that doesn’t suck, and with some cool and original features.

Terrain lighting

    I finally committed the new terrain lighting code this afternoon. The vertex program-based lighting method allows for dynamic lighting, which is good if you want a terrain scene with a moving sun. =)

    The drawback to using the vertex program lighting is that it can be slower than using the software lightmaps, because lightmaps are pre-computed at the creation of the terrain page while the vertex programs re-calculate each frame. But since lightmaps are pre-computed, you’re stuck with a non-moving sun. Obviously, different sorts of games have different needs, so I’m glad to support both of these methods in the engine.

    I need to finish up texturing. I’m doing it right now in vertex and fragment programs, but I’ll make a software texturer later on. I’d sort of like to look into also supporting NVIDIA register combiners, but we don’t currently support those for anything and it would probably be a big pain in the ass to support them. Register combiners are still cool for this sort of thing, though, because they’re so much faster than fragment shaders. Plus, they’re supported all the way back to GeForce 2 hardware, I think.

New NeoEngine developer

General Comments Off
    We now have a new developer on NeoEngine, Sean Taylor. He’s taking over as the new MacOS X port maintainer, since I no longer maintain it. This is really, really cool. The Mac port has been out of date for awhile, which is very sad.

Terrain engine

    I haven’t been spending much time programming for a few days. I had an audition on Saturday that I was preparing for. But today I finally did some more work on it.

    I added a vertex shader for doing the lighting in the GPU programmable pipeline rather than using lightmaps. I’ll keep the lightmap code since not everyone has a programmable GPU yet. I’m also working on a pixel shader for doing the texturing and blending, plus a software fallback for that as well. I haven’t quite finished it or tested yet, because I went to a recital tonight. But things are definitely going pretty well with NeoEngine.

Recital

    Ann Marie Hudson, associate principal violist of Dallas Symphony, played a recital at UTA tonight with Mitta Angell on piano. It was pretty cool. They did the Vieutemps Elegie, which I really love, plus Bach d minor suite and then Hindemith Op.11/4 sonata.

Complete lack of understanding of Advogato

General Comments Off

mglazer has been, for quite awhile, both amusing in his certification antics, and really annoying in his diaries. His method of certifying is generally to certify them according to how they certify him. If you certify him highly, he’ll do similarly, and if you certify him as an Apprentice, he’ll definitely do the same bakc. I was watching for awhile in amusement, but decided to test the theory, so Archit certified him as Master, resulting in a response-certification of Journeyer. We were hoping for a Master response, but weren’t lucky enough. So then Archit certified him as Apprentice to see if he would change his certification when he noticed. The theory proved true, mglazer is as lame and clueless as I thought. He lowered his cert for Archit once he realized what happened.

Terrain screenshots

General Comments Off

Terrain screenshots

    Just thought I’d post a couple early screenshots of my recent terrain development. Here is a screenshot of a basic perlin noise generated heightmap with a lightmap calculated at runtime. Here is another shot, just adding a skybox to the background.

    I have some work left to do with texture-mapping, obviously. These screenshots only use a single texture, so the terrain doesn’t look very good. I’ll post other updates pretty soon.

Weird linking issues

General Comments Off

So I decided to get back to the Realsoft3D plugin this morning finally. It’s about time. Whenever I work on that plugin, I get freaking weird errors that I don’t understand. So, this morning was no different.

I get undefined symbol: __dso_handle when Realsoft3D starts up and tries to link my plugin at runtime. So it doesn’t link the plugin, obviously.

So I’m thinking, “Shitballs.. not another stupid error.”

Fortunately, this one was solved pretty quickly with a nice Google search that pointed to an archived post in bug-gnu-utils on GNU’s mail server. The solution was to use $(CC) -shared instead of $(LD) -shared. I look in Realsoft’s makefiles they provide you, and there it was.. they were using $(LD) -shared. So I changed this, and now it works fine.

Don’t you just love happy endings?

NeoEngine 0.6.1 Release

    The new 0.6.1 release is being done today sometime. Oh, happy day!