Re: OpenGL + NSTextView/NSTextContainer?
Re: OpenGL + NSTextView/NSTextContainer?
- Subject: Re: OpenGL + NSTextView/NSTextContainer?
- From: Jean-Daniel Dupas <email@hidden>
- Date: Wed, 19 Nov 2008 15:04:28 +0100
Le 19 nov. 08 à 13:39, Karan, Cem (Civ, ARL/CISD) a écrit :
On Tue, 18 Nov 2008 12:26:04 -0800 (PST) Erik Buck wrote:
Open GL has no built-in capability for drawing text. Open GL
provides lower level primitives like lines and curves and
meshes. Open GL also provides texture compositing.
There are some free and some open text drawing/font solutions
for Open GL. You can use the GLUT library up to a point.
On Mac OS X, the traditional way to mix Open GL and Cocoa
text is by rentering the text into a texture and then using
Open GL to composite the texture.
The sample I think you want is
http://developer.apple.com/samplecode/CocoaGL/index.html
See other samples at
http://developer.apple.com/samplecode/GraphicsImaging/idxOpenG
L-date.html
For modern Mac OS X, you might do what you want with "layer
backed views" to use a Cocoa text view as an Open GL texture.
See also CATextLayer
http://developer.apple.com/samplecode/CALayerEssentials/index.html
Hmmm... none of these are quite 100% what I'm looking for; I want the
power of an NSTextView, but where it is mapped as a texture onto an
OpenGL surface. I suspect that that will take a LOT of work. The
ultra-hackish way I can think of is to have an invisible NSTextView,
and
a visible OpenGL capable view (like CAOpenGLLayer). The text view is
mapped into something (don't know what yet) that can be turned into a
texture that is rendered on the surface of the OpenGL object, and I do
hit testing on the OpenGL object to pass back where the mouse is to
the
invisible NSTextView. By doing this, I hope to use NSTextView's power
to do all the heavy lifting for text, but display it on an OpenGL
surface. Except for the fact that I'd need to be very careful to
ensure
that the OpenGL surface doesn't deform the rendered output from the
NSTextView too much, does this sound like a reasonable approach. Note
that I'm NOT trying to make a released product here, just get a feel
for
an interface.
Do you need text editing capability, or just text drawing ?
If this is text drawing, I don't see what NSTextView provide that is
not possible with NSAttributedString, and so, with the GLString class
that convert an attributed string into a texture (and that is include
in the sample pointed in the previous post).
Else, it's perfectly possible to use an NSTextView as an NSOpenGLView
subview (it require some tricks, but it works).
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden