It’s almost 2AM and I’m here with just enough time left for at least a beeep update !
Today I’ve got the first results on a simple (in theory) algorithm to partition geometry.
The problem is that the church model has objects separated as items of the same type, but not separated by location. Basically, all columns are in the same object. This is logical but also a problem for real-time rendering, as it prevents the possibility to do early view-dependent culling.
That’s done, but was clearly something I had to do because I don’t have an artist by my side that gives me data in a format I wish. Still a good exercise.
I’ve been toying with the idea of moving the video processing to HSL color space. It’s something I must do, but I’ve been coming back at home late, with not enough time to relax and start working again. Plus, problems are starting to accumulate. I need to plan my summer trip to Italy.. I have to ask for the days, I have to do that in Japanese, I have to call the travel agency. See which days are cheap, see which airplane I should take, if it’s a direct flight or not. Go buy the Aibo carrying bag, exhume my laptop and update it, see what I have to buy to bring to Italy, start worrying about what I have to bring back from Italy.
These are the things I truly hate, what destroys my will. I’m not the kind of person that is all dynamic, that can face all those small issues with ease. I just want to be home, do my coding. Sometimes go out, but generally just think about interesting things and completely forget about small duties.
My list of things to do is very long, plus it seems that recently every one is coming to Tokyo. Every month a new contact, people looking for fun, people looking for work, people looking for ..I don’t even know.
Then I have to feel that I could do more at work, I could do more at home, I could do more with language. Some seem disappointed if I tell them I didn’t make work on any supercool game recently. Some aren’t impressed if I don’t tell them I work for some big shot company. Some think that I’m weak because I don’t have playboy stories to tell. Some are unimpressed by the fact that I don’t speak fluently Japanese.
Basically, pressure from everywhere ! I’m glad that at least my relatives have a high opinion of me. It’s true that I can’t focus on one thing long enough. But it’s not a completely crazy thing.. it’s just the way I operate. One day I hope I’ll make everyone happy.. so that I don’t have to find justifications if I’m not a perfect programmer, a perfect linguist, a doctor, a lawyer, rich, entertaining and sexy !
woo !
Posted by Davide Pasca as Uncategorized at 2:11 AM EDT
6 Comments »
Tonight (well, it’s morning already) none of my friends around seemed to be in shape to go out. That worked well for me, because I was also tired and I wanted to continue working on this 3D church thing.
Between the spare time at work and here at home, I finally got some simple but necessary results. The vertex data is now optimized. Lots of double vertices are gone. The vertex normals are also calculated properly. The complex algorithm required to duplicate vertices to assign at different triangles that shouldn’t share them, wasn’t really flawed. I’ve been looking into it for a long time, but eventually realized that the bug was in the simple gathering of triangle normals for vertex normals. It’s a summation, but the memset that I was doing to clear the array initially, was being given the wrong size 8)
Here:
float3 *vnp = _verts._nor_vertsp;
memset( vnp, 0, _verts._n_verts * sizeof(vnp) ); // With he bug...
memset( vnp, 0, _verts._n_verts * sizeof(*vnp) ); // Without the bug !!!
..tricky memset !!!
Anyhow I took some screen-shots and here it is. It may not look like anything special, but considering that was a 3D model exported from AutoCAD and not meant for real-time, just to see it with the faces properly sorted for backface culling, is an achievement for me 8)
Posted by Davide Pasca as Uncategorized at 7:00 AM EDT
5 Comments »
Today at work I eventually worked out an algorithm to smooth normal at vertices while preserving strong edges. It’s not working 100% but it’s already at a decent stage and it’s pretty fast too. The last time I did this I was working on edges. Now I’m working at the vertex level. First I collect all triangles for each vertex, then, for each vertex, I build N groups of triangles. Each group contains one or more triangles whose normals don’t differ more than a certain selected angle from any of the other triangles.
One thing I’m starting to have problems with (I think that’s what locks the OpenGL driver sometimes), is that I’m forcing to render a single strip composed of many smaller ones (using degenerated triangles). I think I’m breaking the physical limit that the driver or the hardware can handle for a single strip. I’m thinking of going back to multiple strips, but still using degenerated triangles to stitch smaller ones. A strip of 2048 verts is probably safe enough. I can make an array of max 64 strips (to avoid dynamic allocation of such a small structure 8), so that would be 128K verts. Should be enough ! Especially considering that I’m already splitting strips by materials.
After work I went to the gym. Not an incredible performance.. but, much to my surprise, my body weight went down to 70.85Kg !! Breaking the barrier of 71Kg ! Perhaps loss of muscle since I didn’t go much to the gym recently.. perhaps my metabolism just got back to a decent level. Incidentally, I haven’t been eating McDonald’s for a while.. especially after seeing the movie Supersize Me (warning, facking Flash ahead !). I didn’t think that the movie was so great. Interesting, but definitely looks like a cheap documentary plus some added graphics.
Yesterdayyyyyy… I finally got a new router. Another Linksys, the WRT54GS with SpeedBooster "and shit". Really the best purchase for me here in Japan. In a few minutes I got it up and running with US firmware flashed in 8)
Today I realized that the latest firmware doesn’t support anymore the dynamic DNS update for services like dyndns.org (unless the option is well hidden). That’s kind of sad. I see some Cisco logo on the router too. I’m guessing that the router is getting more on the corporate side. Whatever.. blah blah.
Tonight I updated the Aibo wireless setup to the new network (new WEP password) and did a backup of its memory stick. It seems that there is a Service Pack 3 out for my Aibo model. I still have to install even the 2 or 1. We’ll do in due time. Surely doesn’t help that one has to read all the instructions in Japanese.. geez !!
As I was dealing with Aibo, I did the laundry, then some Perl bullshit for the automatic album generation.
Basically I have a million things to do and tomorrow is Friday. Some friend will want me to go out and I’ll be sleepy and feeling unachieved. It’s already very late.
..presssureee !!
Posted by Davide Pasca as Uncategorized at 2:26 AM EDT
No Comments »
It’s 2AM, I’m writing this quickly. Yesterday night I went to bed at 2:40. Unfortunately I forgot to buy the sleeping pills… I’m not sure how long it took to fall asleep, but I remember clearly that the sunlight was starting to come up and I was still awake 8)
In the morning I woke up, and of course decided to stay a little more. Then was pretty much too late. I woke up an took a quick shower, but was really too late. I called at work and asked for the usual half day off.
I went back to bed, planning to wake up at 11:30, but I only woke up one hour later, once again running to go to work 8)
I had some mixed dreams, including one of those where one fights with his own body to wake up. Only this time I’m not sure if I was fighting to wake up or stay in bed.
Complex choice.. fixed schedules are a nightmare.
Posted by Davide Pasca as Uncategorized at 2:12 AM EDT
6 Comments »