[x3d-public] extra NavigationInfo modes, ptm
GPU Group
gpugroup at gmail.com
Thu Jan 30 07:46:22 PST 2020
Hypotheses:
H0: the pixel shader and CGE methods will both do much the same thing
H1: the CGE method can be implemented without changing node fields
elsewhere - by using hidden stacks of textures and texture coordinates.
H2: there are different use cases that can be optimized differently:
a) dynamic global texture projector - like the x_ite sample above
b) one-time texture projection - for example a drone flyover generating a
lot of nadir (down-looking) images of the terrain, that need to be texture
mapped onto terrain, but aren't dynamic after that (so somehow generating a
single big texture by tiling / projecting all the shots, then using the big
texture thereafter on the terrain)
And if so that may mean there could/should be more nodes/levels in the
Component
-Doug
On Thu, Jan 30, 2020 at 8:11 AM GPU Group <gpugroup at gmail.com> wrote:
> Michalis
> - so using your texture coordinate projection method, you can have valancy
> projectors m:m geometry
> and not use-up sampler2Ds or need a special pixel shader?
> That sounds great - sold - lets change the specs. Or are there any
> shortcomings - something I haven't thought about?
> -Doug
>
> On Thu, Jan 30, 2020 at 6:00 AM Michalis Kamburelis <
> michalis.kambi at gmail.com> wrote:
>
>> I think the alternative approach to Projective Texture Mapping,
>> described by Andreas, is almost exactly what I proposed and
>> implemented long time ago :)
>>
>> CGE approach to projective texture mapping (unrelated to PTM in X3Dv4)
>> is on https://castle-engine.io/x3d_extensions_shadow_maps.php . It's
>> part of shadow maps specs, but it's useful without shadow maps as
>> well.
>>
>> Basically you can just use """ProjectedTextureCoordinate { projector
>> USE MyViewport }""" as a texture coordinate (in a "texCoord" field).
>> This generates texture coordinates, nothing more. You set up the
>> appropriate textures using existing texturing methods.
>>
>> In the same spirit, I did mirrors on flat objects:
>> https://castle-engine.io/x3d_extensions_mirror_plane.php , where you
>> can use """TextureCoordinateGenerator { mode "MIRROR-PLANE" }""".
>>
>> I admit I like my approach a bit. It cooperates with existing texture
>> specification without anything additional -- because it just generates
>> texture coordinates, and doesn't try to do more. But I'm no longer
>> subjective :)
>>
>> Regards,
>> Michalis
>>
>> śr., 29 sty 2020 o 23:57 Andreas Plesch <andreasplesch at gmail.com>
>> napisał(a):
>> >
>> > Hi Michalis,
>> >
>> > I took the opportunity to look at
>> >
>> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD1/Part01/components/ProjectiveTextureMapping.html
>> > and some of the history.
>> >
>> > My main thought was why not reuse the existing, abstract viewpoint
>> > nodes to define the projector characteristics. The projector node
>> > fields just reiterate the viewpoint node fields, for the most part.
>> > But probably there are enough differences since viewpoint mixes camera
>> > and navigation options.
>> >
>> > Why not follow viewpoint and use orientation as a rotation instead of
>> > direction and upVector ? Seems more consistent and simpler.
>> >
>> > The definition of the coordinate system for location/direction seems
>> > to be missing. It is probably implied that it is the local coordinate
>> > system.
>> >
>> > Overall, it feels strange to have a global projector to affect all
>> > appearances by default but perhaps that is the most common scenario.
>> > The term Texture Mapping rather implies that it is a way to compute
>> > texture coordinates for a given texture, similar to
>> > TextureCoordinateGenerator, and on a similar level:
>> > ProjectiveTextureGenerator. DEF/USE would allow applying it to
>> > multiple Appearances easily.
>> >
>> > -Andreas
>> >
>> > On Mon, Jan 27, 2020 at 6:18 PM Michalis Kamburelis
>> > <michalis.kambi at gmail.com> wrote:
>> > >
>> > > Andreas Plesch <andreasplesch at gmail.com> wrote:
>> > > >
>> > > > x3dom has an extra explorationMode field which restricts mouse
>> function in examine/turntable mode.
>> > > > zoom, pan, rotate values restrict to only these.
>> > > > -zoom, -pan, -rotate disable these.
>> > > > The field tends to be quite useful.
>> > > >
>> > > > I think x-ite implemented Projective Texture Mapping.
>> > >
>> > > Good news we have an implementation of PTM.
>> > >
>> > > I had some questions about how the Projective Texture Mapping in X3D
>> > > v4 applies the texture -- what happens if the shape already has a
>> > > ImageTexture, what happens if shape already has MultiTexture etc. I
>> > > listed them on "TODO: Address how the projective texturing in spec
>> > > affects existing textures" in
>> > >
>> https://github.com/michaliskambi/x3d-tests/wiki/Clarify-%22Projective-texturing%22-component#todo-address-how-the-projective-texturing-in-spec-affects-existing-textures
>> > > . I'll test how X_ITE answered these questions.
>> > >
>> > > Regards,
>> > > Michalis
>> > >
>> > > >
>> > > > ---on the phone---
>> > > >
>> > > > On Mon, Jan 27, 2020, 3:00 PM <x3d-public-request at web3d.org> wrote:
>> > > >>
>> > > >> Send x3d-public mailing list submissions to
>> > > >> x3d-public at web3d.org
>> > > >>
>> > > >> To subscribe or unsubscribe via the World Wide Web, visit
>> > > >> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>> > > >> or, via email, send a message with subject or body 'help' to
>> > > >> x3d-public-request at web3d.org
>> > > >>
>> > > >> You can reach the person managing the list at
>> > > >> x3d-public-owner at web3d.org
>> > > >>
>> > > >> When replying, please edit your Subject line so it is more specific
>> > > >> than "Re: Contents of x3d-public digest..."
>> > > >>
>> > > >>
>> > > >> Today's Topics:
>> > > >>
>> > > >> 1. Re: x3d v4 proposed changes > 2 opensource criteria > any
>> > > >> that are short (GPU Group)
>> > > >>
>> > > >>
>> > > >>
>> ----------------------------------------------------------------------
>> > > >>
>> > > >> Message: 1
>> > > >> Date: Mon, 27 Jan 2020 12:18:39 -0700
>> > > >> From: GPU Group <gpugroup at gmail.com>
>> > > >> To: X3D Graphics public mailing list <x3d-public at web3d.org>
>> > > >> Subject: Re: [x3d-public] x3d v4 proposed changes > 2 opensource
>> > > >> criteria > any that are short
>> > > >> Message-ID:
>> > > >> <
>> CAM2ogRfqXoH1duy9iGvX9BEmLFCpiLbYYO_HwMuR7HbYXkRvmg at mail.gmail.com>
>> > > >> Content-Type: text/plain; charset="utf-8"
>> > > >>
>> > > >> INVENTORY
>> > > >> FREEWRL
>> > > >> * X3Dv4 Implementations
>> > > >> https://www.web3d.org/x3dv4-implementations
>> > > >> 1) 43 Projective Texture Mapping
>> > > >> x freewrl does not implement, document is mistaken
>> > > >> 2) 23.4.4 NavigationInfo > TURNTABLE
>> > > >> * freewrl implemented
>> > > >> (other freewrl navmodes and related not in v3.3:
>> > > >> DIST - explicit control over distance to pivot point for examine,
>> turntable
>> > > >> - touchpads don't need RMB
>> > > >> SHIFT - turns off sensors
>> > > >> HOVER - isOver mode (useful for touch pad - allows triggering of
>> isOver
>> > > >> only)
>> > > >> PEDAL - can drag 'floating cursor' in steps
>> > > >> SPHERICAL - like FLY: YAWPITCH except rotations constrained to
>> viewpoint
>> > > >> local axes)
>> > > >> subsets of FLY: YAWZ, XY, YAWPTICH,ROLL)
>> > > >> 3) GeoSpatial > GeoOrigin - freewrl still allows in v3.3, never
>> deprecated
>> > > >> in freewrl
>> > > >> 4) The rest freewrl has not implemented
>> > > >> /FREEWRL
>> > > >> Does this table miss anything?
>> > > >> /INVENTORY
>> > > >> -Doug Sanden
>> > > >> PS who's doing projective texture mapping? Should start with that?
>> > > >>
>> > > >>
>> > > >> On Mon, Jan 27, 2020 at 11:59 AM GPU Group <gpugroup at gmail.com>
>> wrote:
>> > > >>
>> > > >> > INVENTORY
>> > > >> > FREEWRL
>> > > >> > * X3Dv4 Implementations
>> > > >> > https://www.web3d.org/x3dv4-implementations
>> > > >> > 1) 43 Projective Texture Mapping
>> > > >> > x freewrl does not implement, document is mistaken
>> > > >> > 2) 23.4.4 NavigationInfo > TURNTABLE
>> > > >> > * freewrl implemented
>> > > >> > (other freewrl navmodes and related not in v3.3:
>> > > >> > DIST - explicit control over distance to pivot point for examine,
>> > > >> > turntable - touchpads don't need RMB
>> > > >> > SHIFT - turns off sensors
>> > > >> > HOVER - isOver mode (useful for touch pad - allows triggering of
>> isOver
>> > > >> > only)
>> > > >> > PEDAL - can drag 'floating cursor' in steps
>> > > >> > SPHERICAL - like FLY: YAWPITCH except rotations constrained to
>> viewpoint
>> > > >> > local axes)
>> > > >> > subsets of FLY: YAWZ, XY, YAWPTICH,ROLL)
>> > > >> > 3) GeoSpatial > GeoOrigin - freewrl still allows in v3.3, never
>> deprecated
>> > > >> > in freewrl
>> > > >> > 4) The rest freewrl has not implemented
>> > > >> > /FREEWRL
>> > > >> > Does this table miss anything?
>> > > >> > /INVENTORY
>> > > >> >
>> > > >> >
>> > > >> > On Mon, Jan 27, 2020 at 11:14 AM Don Brutzman <brutzman at nps.edu>
>> wrote:
>> > > >> >
>> > > >> >> Thanks for writing Doug.
>> > > >> >>
>> > > >> >> On 1/27/2020 6:01 AM, GPU Group wrote:
>> > > >> >> > A rule of web3d.org <http://web3d.org> is that changes to
>> the spec
>> > > >> >> need a least 2 opensource implementations.
>> > > >> >>
>> > > >> >> * Web3D Standards Adoption Process
>> > > >> >> https://www.web3d.org/standards/adoption-process
>> > > >> >>
>> > > >> >> 5.c. "Identify at least two independent and interoperable
>> implementations
>> > > >> >> (at least one should be open source)"
>> > > >> >>
>> > > >> >> > Q. are there any proposed changes that do not yet have 2
>> opensource
>> > > >> >> implementations?
>> > > >> >>
>> > > >> >> Yes, plenty. We have not taken a recent inventory of features
>> yet, but
>> > > >> >> will be tracking that at
>> > > >> >>
>> > > >> >> * X3Dv4 Implementations
>> > > >> >> https://www.web3d.org/x3dv4-implementations
>> > > >> >>
>> > > >> >> Our prominent open-source implementations for X3Dv3.3 include
>> FreeWrl,
>> > > >> >> X_ITE, X3DOM, Castle Game Engine. Soon Xj3D will be back on
>> the table as
>> > > >> >> well. There are also non-rendering X3Dv4 implementations for
>> Java,
>> > > >> >> JavaScript, Python, conversions and validation. Not sure about
>> Titania but
>> > > >> >> presumably yes. X3D-Editv4 is on the horizon. Interestingly
>> everything on
>> > > >> >> this list is open source.
>> > > >> >>
>> > > >> >> Hoping that FreeWrl developers are keen to keep their
>> record-setting X3D
>> > > >> >> support accomplishments continuing! 8)
>> > > >> >>
>> > > >> >> All feedback welcome, appreciate your many efforts.
>> > > >> >>
>> > > >> >> > Thanks,
>> > > >> >> > Doug Sanden
>> > > >> >> > -freewrl
>> > > >> >>
>> > > >> >> 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 graphics, virtual worlds, navy robotics
>> > > >> >> http://faculty.nps.edu/brutzman
>> > > >> >>
>> > > >> >
>> > > >> -------------- next part --------------
>> > > >> An HTML attachment was scrubbed...
>> > > >> URL: <
>> http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20200127/53a57192/attachment-0001.html
>> >
>> > > >>
>> > > >> ------------------------------
>> > > >>
>> > > >> Subject: Digest Footer
>> > > >>
>> > > >> _______________________________________________
>> > > >> x3d-public mailing list
>> > > >> x3d-public at web3d.org
>> > > >> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>> > > >>
>> > > >>
>> > > >> ------------------------------
>> > > >>
>> > > >> End of x3d-public Digest, Vol 130, Issue 49
>> > > >> *******************************************
>> > > >
>> > > > _______________________________________________
>> > > > x3d-public mailing list
>> > > > x3d-public at web3d.org
>> > > > http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>> >
>> >
>> >
>> > --
>> > Andreas Plesch
>> > Waltham, MA 02453
>>
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20200130/183576be/attachment-0001.html>
More information about the x3d-public
mailing list