[X3D-Public] is MultiTexture for 3D textures as well as 2D textures?

Don Brutzman brutzman at nps.edu
Mon Aug 1 20:28:34 PDT 2011

Wondering, is MultiTexture node applicable to 3D textures as well as
2D textures?


18.4.3 MultiTexture

MultiTexture : X3DTextureNode {
  SFFloat  [in,out] alpha    1     [0,1]
  SFColor  [in,out] color    1 1 1 [0,1] 
  MFString [in,out] function []
  SFNode   [in,out] metadata NULL  [X3DMetadataObject]
  MFString [in,out] mode     []
  MFString [in,out] source   []
  MFNode   [in,out] texture  []    [X3DTextureNode]

The prose isn't completely clear.  It says

	The MultiTexture node specifies the application of several individual textures to a 3D object to achieve a more complex visual effect. MultiTexture can be used as a value for the texture field in an Appearance node.

	The texture field contains a list of texture nodes (e.g., ImageTexture, PixelTexture, and MovieTexture). The texture field may not contain another MultiTexture node.

Presumably the operations listed in the table could work for 3D textures
since they appear to be implementable using matrix operators.

There are 3 pertinent node interfaces:

Both X3DTexture2DNode and X3DTexture3DNode are part of X3DTextureNode.

MultiTexture only implements X3DTextureNode interface, not 2D or 3D.
It is the only X3D node in that category.

Some potential specificaton changes here:

a.  If applicable to both 2D and 3D, then no change is needed to the
	MultiTexture node per se.  But we might need to change some
	of the 2D texture transform operations in the Volume Rendering
	component might to also allow use of MultiTexture with 2D nodes.

b.  If applicable to both 2D and 3D, we probably ought to say that
	combined operations with a mix of both 2D and 3D nodes are
	not allowed at the same time.

c.  If MultiTexture is only intended for 2D textures, then we should
	restrict it to the X3DTexture2DNode interface and also provide
	fields for
  SFBool []       repeatS           TRUE
  SFBool []       repeatT           TRUE
  SFNode []       textureProperties NULL [TextureProperties]

d.  If applicable to both 2D and 3D, then we might also add the preceding
	fields anyway, since it is reasonable to want to apply them to
	the result of 2D multitexture operations.  In that case we
	should likely also say that the fields are only appropriate
	when using 2D textures.

Any other potential spec changes?

I hope that we have some multitexture experts who can shed light on this.
We have an opportunity to make X3D v3.3 modifications/clarifications
that is just a few weeks way.  TIA for all review.

all the best, Don
Don Brutzman  Naval Postgraduate School, Code USW/Br      brutzman at nps.edu
Watkins 270   MOVES Institute, Monterey CA 93943-5000 USA  +1.831.656.2149
X3D, virtual worlds, underwater robots     http://faculty.nps.edu/brutzman

More information about the X3D-Public mailing list