I was having a few problems with the new NeoEngine widget, but murrayc gave me a little help to get the resizing working this morning and now the widget appears to be working exactly as expected.
I've been mostly busy re-organizing the code into a library, and dealing with auto* hackery today. I made a simple test that renders a triangle in a GTK window and posted a screenshot.
Another argument was that some people can't spare the extra bandwidth to download the Gnome libs and stuff. That's such bullshit. Then there was the argument that they can't really spare the extra disk space, even though it is a small amount. Bullshit.
The application in question is a GUI developer tool for developers using NeoEngine. It's not a tool for end users. So if a "developer" is that low on disk space, I think they're going to have a hard time developing anything anyway. So this was all such a stupid discussion.
I saw on Conan's show that there is a Kill Bill action figure. It's The Bride (Uma Thurman's character) in her cool yellow outfit, with a fucking big, red splotch of blood on the front of the shirt. It's so cool. But it's an amusing toy because action figures are "for kids", but I think most parents would object to their kids having this fucking bloody Uma Thurman action figure. I want to get one now! =)
I started working on a soft shadow generator yesterday. That should be really cool when it's ready, I hope.
Cameron and I watched a dog dig in about three different spots in the sand at the beach while its owner threw a tennis ball at it and it fetched. It was a lot funnier to watch than it sounds. But then we talked about supersticious pigeons, behavioral patterns, and other interesting things. Cameron and Amy and I went to the museum, which is free on Tuesdays (we liked that). Yi-Ping and Monica were going to go meet us, but they flaked out and just stayed over at Monica's place instead. We observed the emergent fashion trends of women baring a single breast, then both breasts, then back to none at all during a certain series of 18th century paintings.
Chris will be missed a lot, and by a lot of people. He was the sort of guy who is always cheerful and pleasant to be around. Nothing seemed to ever get Chris down. Even when I went to see him at the hospital a couple weeks ago with Josh and Anna.. as soon as we entered the room, he's all like, "Hey guys!" in his usual exciting way.
Susan sounded really good. I really liked her Bloch and Novacek, and the Brahms quartet sounded great. The cellist (whose name eludes me at the moment, but he's the teacher at UNT in Denton) sounded fantastic in the third movement. I really love that quartet a lot. It's probably my favorite piano quartet, ever.
It was a very good recital, and well worth the time of driving all the way out to Denton for. =)
They do make Debian's release cycle seem fast, but I think in the end it's worth the wait.
Someone also has been working on a new sound system for the engine and that was recently committed to cvs by Mattias, with some changes. The sound system originally only worked with DirectSound, but Mattias added basic support for ALSA as well. I have not looked at the sound device code yet, but I'm interested in seeing if we could add 3D spatial sound positioning using DirectSound and OpenAL.
I think we're releasing 0.8.0 release tomorrow.
One problem with having a single vertex buffer was that the entire terrain system was limited to 65k vertices, which means a 256x256 heightmap since we require the heightmap to be square in shape. You could always load multiple terrain systems at a time, but that didn't make sense. The new system provides ample vertex space, setting the limit to 65k vertices per terrain block (which is, of course, way too much). For my tests, I'm dividing my terrain blocks down to 4096 vertices each.
Well, on paper those are the numbers. One problem that came up is the obvious disconnectivity in the index buffers between the various blocks. The index buffer of one terrain block cannot contain triangles that connect vertices from one vertex buffer with vertices from another. The result looks something like this. Those gaps are due to the index buffers not connecting. Each block is 64x64 vertices, and the entire system is 256x256.
So the solution is to add a little "buffer strip" along the edges. A block needs to have 65x65 vertices, such that row 65 of both axes is set to the same position as rows 0 of the neighboring block, and they look like they're all one mesh. That looks like this. Much better.
But for other purposes, I don't want the heightmaps to be non-power-of-two images. I still want the same heightmap. I ended up making the terrain systems internally add the extra buffer vertices, while the user of the engine still sees the terrain system as being 256x256. Any queries to sizes will tell the user the size based upon heightmap calculations, so it's slightly inaccurate. I thought this was a trivial trade-off, though.
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!