From: Burkhard P. <pl...@ip...> - 2004-10-14 10:02:20
|
> One major benefit we'll get if we'll dlopen GL library is the ability > to use different hardware at the same time. Suppose there are > ATI, NVidia, S3Trio3D ;) hardware in the system, someone want to use it's > 3D acceleration abilities and 3 monitors. Just because. But is this possible at all? Did you ever made such a setup working? How do you want to detect (at runtime), which lib should be dlopened? I doubt, that current X11 installations allow this at all. > To do this gl calls should be "objectised". Like this > lvglBegin(video, GL_LINES); > ... > lvglEnd(video); In this case, each lvgl*() function must internally call glXMakeCurrent() or something similar. If you use pure OpenGL, you call glXMakeCurrent() once. > to call specific function. If it's done nicely it should introduce almost > no overhead. In one case lemuria draws more than 5000 triangles in one frame, along with normal vectors and texture coordinates. It already pushes weaker hardware to the limit. Propagating all these (15000+ / frame) function calls through another lib would make it unusable for many people. > In theory ;) I can't see any problems with that. Pratice looks different in this case. Wrapping library calls makes sense in many cases to keep things clean. But here, we are inside the innermost rendering loop, and speed really becomes important. Hard- and Software developers spend a lot of time, to speed optimize OpenGL calls. So it's a bad idea to slow it down again only for supporting some esotheric hardware configurations. -- _____________________________ Dr.-Ing. Burkhard Plaum Institut fuer Plasmaforschung Pfaffenwaldring 31 70569 Stuttgart Tel.: +49 711 685-2187 Fax.: -3102 |