Angus Dorbie (dorbie++at++sgi.com)
Sat, 17 Jul 1999 12:44:51 -0700
Difficult to say what the problem is here. Speed difference is probably
because you are on a new machine running IrisGL on igloo. A quick guess
is that the differences are likely the per vertex modfication of
lighting and the lighting equation with alpha in each. Can you be more
specific about the exact nature of the difference? It will be nearly
impossible to figure this out otherwise.
>
> (2) In IRIS Performer procedure, I get pfWSWindow or
> pfWSDrawable according to pfPipeWindow::getCurWSDrawable
> and getWSWindow functions, with these, I use X's
> functions, create XWindows GC to display string
> include chinese word and ASCII code on Performer
> window, but the string twinkles. How can I realize
> my design without twinkling?
Twinkling, what do you mean? Perfly draws text on the overlay plane so
it can 'fire and forget' it doesn't twinkle but it uses OpenGL to
render.
>
> (3) How can I display the chinese word on the IRIS
> Performer window based on OpenGL?
You'd have to convert the font to polygons or a bitmap of some type.
There are font utilities by Paul Haeberli which convert to a format
which Performer can read but I don't know it it would be possible to
support a non latin typeface. It is worth investigating.
>
> (4) When I place a XWindow widget on the IRIS Performer
> window, I want to display the chinese word on the
> widget, but Performer's frame refresh make the word
> twinkle, how can I solve this problem?
OK you asked this already but the additional information here has given
me the clue I need and now I think I know your problem. There is a
problem with the double buffering and creating a widget on top of a
swappable context.
>
> (5) According pfWindow::getGLCxt function, I can get
> OpenGL's GLXContext. How can I turn the GLXContext
> to XWindow's GC?
Don't do that, it's double buffered, this is where you are going wrong.
One guaranteed solution is to draw the Chinese text to a bitmap and load
to a texture in OpenGL then put this on a polygon in the scene in front
of the eye.
Another approach is to create the widget in the window but not as a
child of the gl drawable, so add a title bar with it's own drawable and
open your gl drawable exclusive of ths title.
Another alternative would be to draw to the overlays using X or maybe
even the popup planes. Create a separate overlay drawable in the window
and select it for rendering your string.
Cheers,Angus.
--
Never express yourself more clearly than you think.
Neils Bohr
For advanced 3D graphics Performer + OpenGL based examples and tutors:
http://www.dorbie.com/
This archive was generated by hypermail 2.0b2 on Sat Jul 17 1999 - 12:44:57 PDT