I am thinking about making multithread renderer using OpenGL. In MSDN I found:
"you can use a separate thread to pass OpenGL rendering calls to dedicated 3-D hardware. "
Does it mean we should only use any OpenGL function in the only thread? or some other things? And more, where can I found further topics about multithread render? I think it is rare and difficult to find in the Web.
Thank you for your reading!
Thank you for your information, I have found a workable demo!
There are still something to talk about: a. How could I know which part should be put in a thread? b. If I make lots of synchronization to make the threads work right (if not they will not work right), could it be worth? c. Is there any more advanced tech on multithread render except distribute render sentences between thread. I mean could I use some hardware concerned function in the thread to accelarate the fillrate?
I need further more informations and experiences to make decision! Thank you everybody!
using multiple threads is a pain in the ass if u dont know what you''re doing + even if u do it still is a pain in the ass. also on most systems (with 1 cpu) youre not gonna gain performance for most things.
Indeed. zed is right. It''s possible to have multiple threads rendering your OpenGL if you wish. If you really want to go multithreaded its much better to have your simulation running in one thread and all the drawing code in another.
There is a multithreaded implementation of OpenGL - this farms out ''standard'' OpenGL code across multiple threads. It''s a 3dfx and software only renderer at the moment, but the paper associated with it is an interesting read: http://pmesa.sourceforge.net/