# [NTG-context] U3D (embedded 3D objects)

Hans Hagen pragma at wxs.nl
Mon Jan 30 13:02:37 CET 2006

Matthias Weber wrote:
> Hello,
>
> is there support for .u3d files in ConTeXt available or planned? This
> would take advantage of Acrobat 7 support
> for these 3D data  files. There is a LaTeX package (http://
> www.tug.org/tex-archive/macros/latex/contrib/movie15/)
> that does that, and it even works on my Mac.
>
(mime type controlled i assume that you refer to support for graphic formats that depend on specific plug-ins; contrary to the older support for movies, such features need a bit more, in particular a relationship between the part of the screen where the stuff is shown and the place where the resources are embedded and refered to. the framework for that has been present for a while now (was implemented right after 6 came out) but in practice only a fraction of the plugins / graphic formats work ok (for instance, smill based graphics/sequences are rather plug-in dependent and buggy); the mediashow stuff on the site and in the distributions implements this renderign)

\definerenderingwindow
[example]
[width=320pt,height=150pt,frame=off,
background=color,backgroundcolor=gray,
openpageaction=StartCurrentRendering,
closepageaction=NextPage]% StopCurrentRendering]

\useexternalrendering[example-2][audio/mpeg]                   [myst-12.mp3]
\useexternalrendering[example-3][application/x-shockwave-flash][http://localhost/mb.swf] [auto]
\useexternalrendering[example-4][application/x-shockwave-flash][celebration.swf]
\useexternalrendering[example-5][video/quicktime]              [p1000726.mov]

{\hbox
{\setupbuttons[width=2.5em]%
\button{\symbol[StartRendering]} [StartRendering{#1}]\enspace
\button{\symbol[StopRendering]}  [StopRendering{#1}]\enspace
\button{\symbol[PauseRendering]} [PauseRendering{#1}]\enspace
\button{\symbol[ResumeRendering]}[ResumeRendering{#1}]}}

etc etc

(see x-res-50 for other examples)

much of the plugin behaviou can be tuned with key/values in pdf, but it is rather messy (kind of: the plugin provides this, so we need these and those keys): no clear consistent model is present);

in order for me to provide more detailed support, i first need to cook up a more or less consistent control model (not too much pdf dependent) since whenever possible, i keep context's interface independent of the pdf way of doing things

so, if you want more detailed support for this i need (1) proper conforming resources, and (2) a description of what is needed (which is not the same as a cut and paste from the pdf spec with all possible features) and (3) time and (4) motivation (i.e. it should be usable, used, etc etc;)

implementing pdf related features just because it's in pdf is no longer a good motive since pdf specs/functionality keeps changing, esp in those areas it's rather instable

-----------------------------------------------------------------