Hey rice, first I want to say great job with what you have done so far, and making the plugin open source. Last night I had the pleasure in going through it to fix something for my self. Let me explain,
I have a sharp 3d monitor, and your plugin worked pretty good from the get go except with the 2d interfaces, textrects I believe what they are called, and just polygons that are setup to be 2d plains parallel to the view port. As it turns out rhw’s greater than 0.1 are difficult to look at, their stereo separation by my video card drivers is too great to look at, and 1.0f is definitely way to big. So all of the 2d interface stuff was sticking out of the screen by about 1 to 2 feet and it was way to hard to look at when the majority of the visuals is a few inches into the screen. Needless to say it was impossible to look at the both at the same time, or quickly adjust your eyes from one to the other.
In your code, you manually specify sprites and text rects to be 1.0f in crender::drawspriter and crender::texrectfilp respectfully, so I manually change them to 0.001f pretty arbitrarily but it looks good on my screen. but of course that only takes care of the true 2d on screen elements. As for 2d elements rendered to screen via parallel planes ive tracked them all down to having the same rhw, 0.99975586f why that number is so magical I don’t know. To restrict those values that I went into your clipvertices, in renderbase.cpp and inside the main for loop in there I put..
If (v1.rhw == 0.99975586f && v2.rhw == v1.rhw && v3.rhw == v1.rhw)
{ v1.rhw = 0.001f; v2.rhw = 0.001f; v3.rhw = 0.001f; }
With those minor changes it seemed to fix it right up, and my viewing experience is quite good now. For those of you who do not have any 3d gear and have a nvidia card you can get their stereo drivers and actually set it up to work with the blue red , anaglyph, 3d glasses (you know the old drive in movie glasses), those drivers are right on their website free to public and its fun to toy around with since it works with most 3d applications even doom3! If anyone is interested I could post my modified version of rice’s plugin.
Well anyway now I’m interested in continuing on with your video plugin, now that I went through it at a very surface level im starting to get an understanding how you set it up rice, and quite honestly it’s a pretty nice setup. Of course I am completely new to the n64 emu dev scene and I don’t really know that much about it, and I don’t know the basics of the n64 hardware, maybe you could answer some questions and set me on the right track.
One again thanks for making the plugin open source.