OpenGL devel with GF3 ti200/SoftQuadro Log Out | Topics | Search
Moderators | Register | Edit Profile

stereo3d.com webboard » Support - report your problems with 3D-products here » OpenGL devel with GF3 ti200/SoftQuadro « Previous Next »

Author Message
Top of pagePrevious messageNext messageBottom of page Link to this message

Misiek

Rating: N/A
Votes: 0 (Vote!)

Posted on Monday, December 08, 2003 - 2:57 am:   Edit PostDelete PostView Post/Check IPPrint Post

Hello
I would like to ask question about thing i trying to resolve for few months now, no luck tho :(
I have Gainwards GF3 TI200, now using det 45.23 with same number stereo drivers. They sell shutter glasses as well with some vga-pass with small jack plugged into it. Theres a bit electronic inside this pass with some 40xx IC's i guess, im not sure what standart is this.
It works well with most games i tried, so its good and very cheap choice for gamers afair. However im not interested in games in stereo, and Nvidias great technique of calculating perspective from 2d/3d traditional scene included in their drivers. I could say its rather problem for me.
To the point. I want feed OpenGL buffer with two still images f.e. in tiff format and display them page-flipped.
Im using glut/freeglut atm and i tried few approaches to problem. First to just render one image to back buffer, swap buffers then render second image to buffer and swap them again... Only one image was displayed, what more it was shifted by drivers according to stereo separation.
Then i tried to use GL_BACK_LEFT and GL_BACK_RIGHT rendering before swapping buffers... well it works OK only for left eye. It means when i was rendering to GL_BACK_LEFT only then every second flip was rendered and synced to left shutter. Right remained black. But when I'm trying render only to GL_BACK_RIGHT buffer then every one flip is rendered with the same content and both eyes are getting same image. bummer :(
I tried many more approaches but none of them worked. I heard about Stereo API from Nvidia that allows to control flipping from application, but it seems to be only for DirectX and hard to obtain.
BTW. Somebodys asked about softmoded Quadro. I tried this as well. TI 200 softmoded well to Quadro DCC, but it didnt help much. Glut still is refusing to work in GLUT_STEREO mode complaining about lack of proper pixelformatdescriptor, so seems like in GF3 case theres no quadbuffered/windowed stereo available...
Anyway if somebody could give me some hint how to force Geforce/Softquadro to display left image for left eye and right image for right i would be VERY thankful.

Last thing i want to mention about Gainward combo - for people who thinking about buying it for games - I couldnt forced it to work with CTX monitors, and i tried like 20 of them. Other brands i checked were ok: 17" and 19" nokia/samsung/mag/dell even some old noname 14" monitor worked well in low refresh rate. CTX was like loosing sync after 2-3 seconds and shutters were turning off. After week i got rid of ctx and switched to nokia, which works sweet.

Thats all i guess, hope i'll get some help with OpenGL question, if there will be need of code snippets to clear my explanation I will be glad to post them. And of course sorry for my pseudo-english :)
Cheers. Misiek.
Top of pagePrevious messageNext messageBottom of page Link to this message

M.H.

Rating: N/A
Votes: 0 (Vote!)

Posted on Monday, December 08, 2003 - 11:03 am:   Edit PostDelete PostView Post/Check IPPrint Post

OpenGL quad buffering is possible only with Quadro card. You had not probably made the hack to Quadro DCC correctly. I am not sue whatever the crack works for so hi driver nuber as 45.23.
Do you se the "Use quadbuffered stereo API" option in the OpenGl graphic card control panels ?
If yes, maybe you should check it for activation :-). Another thing with you can try with GF3 is a HW crack to Quadro (by moving 2 microresistors on the card).
The bad new is probably that on Ti200 the Quadro OpenGL stetreoscopy does not work 100% O.K.
Quadro DCC is an equivalnet of the best Ti (400 ?)
cards and the buffer fliping is not 100% O.K. timed on other modeld modified to Quadro DCC.
If you want to experiment I suggest you to buy an old GF 2 and made a HW.
Top of pagePrevious messageNext messageBottom of page Link to this message

Anonymous

Rating: N/A
Votes: 0 (Vote!)

Posted on Monday, December 08, 2003 - 11:03 am:   Edit PostDelete PostView Post/Check IPPrint Post

I wanted to tell:
If you want to experiment I suggest you to buy an old GF 2 and made a HW crack.
Top of pagePrevious messageNext messageBottom of page Link to this message

Peter Wimmer

Rating: N/A
Votes: 0 (Vote!)

Posted on Monday, December 08, 2003 - 3:05 pm:   Edit PostDelete PostView Post/Check IPPrint Post

The NVIDIA StereoBlt SDK isn't hard to obtain. Write an email to 3DStereoDev@nvidia.com and ask for it and they will email it you within a few days for free.

It is quite easy to use. You have to create a surface containing the image in side-by-side format, put a signature in it and blit it. That's all. The SDK sample shows how to do this.
Top of pagePrevious messageNext messageBottom of page Link to this message

Misiek

Rating: N/A
Votes: 0 (Vote!)

Posted on Monday, December 08, 2003 - 4:36 pm:   Edit PostDelete PostView Post/Check IPPrint Post

Thanks all for interest. I checked things and M.H. was right, i havent Quad Stereo option in driver settings tab, but i was messing with registry ApiStereoMode with no luck. Drivers were 43.25 and RivaTuner rc14.1 can NVstrap them, my bad, sorry :). Thanks for pointing that out. Probably blocking NVStrap alone isnt enough for TI200. I'll gonna fight with this later, as well im gonna to hardware mod my old GF DDR ( i know theres some problems with it).
Peter, thank you for SDK explanation, its clear for me now (i think) how it works. Still not sure if surface have to be created by DX. I will post to Nvidia, maybe they reply.

However, i see now that my question was bit wrong. I should ask if anyone knows what is used for syncing glasses i mentioned, and if theres any posible way to sync proper eye orientation using OpenGL in fullscreen REGARDLESS if GF is modded to Quadro or not. Thats what i mean to experiment with. Quadro mod was only for my curiosity, but i dont wanna mod anything in GF3 for my program to work. Its obvious that its only matter of software, because Nvidia stereo drivers are setting proper orientation every time.
Im not sure if SDK will help me with it much, as i want to display textured quads, (or blitted tiles eventualy, as my images are very large about 500 megs each). What more i want to display vector graphic the same time.
I could maybe prerender scene in memory first with all contents and then blit it, but it would take 3 or 4 times more memory im using now, and probably effect would be slow.

Today i installed old 28.32 drivers and my idea about rendering left image , swapping buffers, and rendering right images starting to looks promising. After turning separation to 0 flat vectors glVertex2 in glOrtho are displayed properly. But theres a bit problem with glDrawPixels, im massing with it atm. Sometimes orientation is switched, but its easy to correct this by pressing key, orientation is stable. Of course this approach assuming that every scene is rendered and swapped faster than one shutters flip. If not eyes would be swapped very often of course. Here is the place where some synching would be nice.
Simple blue-line syncing drawn at the bottom of scene would be great. Too bad Nvidia or Gainward controller are using somethings else. I noticed some blue-gradient at bottom every scene rendered in every game/jps viewer. But im not sure if its for synch purposes or some unwanted drawback of CRT.
Simple pseudo code could look like this
...
glViewport(0,0,10,10);
if render=0 {
draw_scene_left;
post_some_sync_left_flag }
else {
draw_scene_right;
eventualy_post_sync_right_flag }
negate render flag;
SwapBuffers();
...
And every screen refresh one scene left or right is rendered.

Last thing, i think that separate package with stereo drivers from Nvidia isnt nessesary, as after reinstalling 28.32 alone i got proper shutters flipping only after adding and setting in registry Nvidias /HWLM/../Stereo3D/StereoViewerType, StereoEnable and StereoDefaultOn flag to 1. This can be effect of possible remainings of 3d driver i had installed before, but i uninstalled it first along with 43.25 dets. I'll maybe check this soon on clean system.

Thanks all for attention.
Cheers. Misiek
misiekt [at] poczta [dot] onet [dot] pl
Top of pagePrevious messageNext messageBottom of page Link to this message

Misiek

Rating: N/A
Votes: 0 (Vote!)

Posted on Wednesday, December 10, 2003 - 6:59 pm:   Edit PostDelete PostView Post/Check IPPrint Post

I got StereoBLT SDK, only 2 days of waiting :). But as i thought DirectX only :/ Anyone have idea if i can somehow blit buffer rendered in opengl to directx's device context? ;)

Package contains as said before only stereoblt, API is still being reworked. Hope this wont take long :)
Cheers. Misiek
Top of pagePrevious messageNext messageBottom of page Link to this message

M.H.

Rating: N/A
Votes: 0 (Vote!)

Posted on Thursday, December 11, 2003 - 10:08 am:   Edit PostDelete PostView Post/Check IPPrint Post

Misiek: You can probably make invisible OpenGL rendering into backgorun ad transfer the result to a Direct3D locked texture and visualise it in stereo. It will work but it is obscure and slow method. Quadro card can do better job, I use e.g. on one of my PC a Twin Out GeForce 2 MMX bought for 50 USD, HW cracked to Quadro. It works perfectly + it can even produce signal for 2 passive projectors + the dual output are even genlocked (I can have synced page flipped stereo on 2 monitors !).
Another solution: Do not implement in your OpenGL application stereosopy at all, use full screen output, use the nVida OpenGl stetreoscopic wrappers for visualisation.
Top of pagePrevious messageNext messageBottom of page Link to this message

Misiek

Rating: N/A
Votes: 0 (Vote!)

Posted on Friday, December 12, 2003 - 8:49 am:   Edit PostDelete PostView Post/Check IPPrint Post

Yes M.H., i wrote before that before, but i agree it would be slow and memory hungry too prolly. I'd rather thought about something like trick drivers by blitting only like one pixel thorough sdk, and rest thorough OpenGl... But i really doubt it will work. Probably system would throw exception error.
I know that hard modding to Quadro is simplest solution for me alone, however I dont want force people who would use my program to modding their cards, thats why it isnt solution. BTW i got its working this way already, much simpler than with Geforce. Thanks again for advices.

However, maybe somebodys figured out how to push Nvidias glasses DCC-trigger without setting anything in drivers... Like thorough system call, interrupt or anything like this...There have to be some trick to do it. That would be best way around if i could call command which would trigger glasses even without drivers knowing about it. If its not possible i guess i'll just wait for promised Stereo API from nvidia, maybe it will be more flexible.

Cheers. Misiek.

Add Your Message Here
Post:
Bold text Italics Underline Create a hyperlink Insert a clipart image

Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action:

Topics | Last Day | Last Week | Tree View | Search | User List | Help/Instructions | Program Credits Administration