[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [x3d-public] Shaders and Triangles: was dedicated working-group focus on X3D interoperability



Sweeeeeeet

Dave A

Richard F. Puk wrote:
Hi, Dave --

What is missing is tutorial material that explains things in "content
author"-speak. Fortunately, this is about to change. The new Daly and
Brutzman book will be out in about another month.

  -- Dick

/***************************************************
* Richard F. Puk, Ph.D., President
* Intelligraphics Incorporated
* 7644 Cortina Court
* Carlsbad, CA 92009-8206
* Tel: +1-760-753-9027
* E-Mail: puk@igraphics.com
* WWW: http://www.igraphics.com/ \***************************************************




-----Original Message-----
From: owner-x3d-public@web3d.org [mailto:owner-x3d-public@web3d.org] On Behalf Of Dave A
Sent: Wednesday, December 20, 2006 4:10 PM
To: Holger Grahn
Cc: John A. Stewart; X3D Graphics public mailing list; Web3D Consortium Members
Subject: Re: [x3d-public] Shaders and Triangles: was dedicated working-group focus on X3D interoperability


With this and other threads going around, it seems to me that the question being asked is: for whom should X3D be easy for: browser/plugin programmers, or content authors. My vote: content authors. Unfortunately, the spec has largely been driven by browser programmers. This IMHO is why X3D has been problematic.

Dave a

Holger Grahn wrote:
Hi John
Regarding the Triangle nodes I agree that X3D has sometimes
a bit of a
node bloat philosophy.
The IndexedFaceSet could represent handle it all.
On the other hand IFS in its generic form with per face attributes, creaseAngle and seperate index list into attributes array
doesn't fit
the Open GL or Directx layout.
To render an IFS, one need to reformat/copy the data to flattened array structures.
The Triangle Set nodes are more constrained, they are
fitting better
direct the OpenGL geometry mapping.
But for DirectX9 requireing the interleaving of all
attributes of a
vertex into one structure, they don't help much.
Hardware Shaders so far operate indepentently on vertices
and pixel /
fragments, they can work on all primitives, I don't see
Justins point
here, beside there might be differences how implementations compute normals etc.
This changes with DirectX 10 adding geometry shader
capability where
the actual input triangle structure is important.
Unfortunately in DirectX10 you always need to implement all
appearance
using a shader, so the classical OpenGL lighting/material/texture/multitexture/fog
model has been completly removed.
Greetings
Holger
----- Original Message -----


*From:* John A. Stewart <mailto:alex.stewart@crc.ca>
*To:* Justin Couch <mailto:justin@vlc.com.au>
*Cc:* X3D Graphics public mailing list
<mailto:x3d-public@web3d.org>
    ; Web3D Consortium Members <mailto:consortium@web3d.org>
    *Sent:* Wednesday, December 20, 2006 9:10 PM
    *Subject:* [x3d-public] Shaders and Triangles: was dedicated
    working-group focus on X3D interoperability

    Justin;

    Throwing in some more canadian pennies in the bowl;

I'll go one step further. It's impossible to use
Shaders without
the Triangle* nodes. Shaders require direct knowledge
of the exact
geometry structure coming at them as well as precise
control over
every aspect of the incoming geometry in order to
work. Remove the
    Triangle nodes and you must also remove Shaders too as they're
    pointless without them.
We still don't need the *Triangle nodes for shaders. What the
browser would
need to recognize in your example, is that it should
*not* optimize,
and feed
the triangles as encountered. *that* mapping can be
specified, and
the browser
certainly would know if a Shader was present, or not.


While shaders are certainly cool, and my GPUGems books
reside within an
elbows reach of me, I doubt whether many on this list
would choose
    to, um,
    teach shader programming in high school, for instance.

Shaders are neat, and have their place, but, at the
moment, their
application
is rather specialized.


--------------------------------------------------------------
-----------
for list subscription/unsubscription,
go to http://www.web3d.org/cgi-bin/public_list_signup/lwgate/listsavail.html



-------------------------------------------------------------------------
for list subscription/unsubscription,
go to http://www.web3d.org/cgi-bin/public_list_signup/lwgate/listsavail.html