NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
I *think* that's what I'm doing; in my derived DataRenderer class I override the various makeShadow* with my own. I have a bunch (for lack of originality, I did the ones in the "barb" example). Then I'm not sure where to put the makeAppearance thing; I tried putting it in one of them (ShadowUnshadedRealTupleType), and then in all the others referring back to that one, but it is apparently not geting called; putting a breakpoint in my version of makeAppearance never gets hit, even though all my ShadowUnshaded* guys are getting created..... Who calls makeAppearance? Donna L. Gresh, Ph.D. IBM T.J. Watson Research Center (914) 945-2472 http://www.research.ibm.com/people/g/donnagresh gresh@xxxxxxxxxx Tom Rink <rink@xxxxxxxxx.e To: Donna L Gresh/Watson/IBM@IBMUS du> cc: Bill Hibbard <hibbard@xxxxxxxxxxxxxxxxx>, visad-list@xxxxxxxxxxxxx Sent by: Subject: Re: controlling shading rink@xxxxxxxxxxxx u 01/24/2003 03:41 PM Hi Donna In short, your custom DataRenderer needs to override the makeShadow* methods defined in DataRenderer->RendererJ3D. The new makeShadow* methods in the custom renderer return the the new ShadowType extensions you've created. Of course, how, and which, ShadowTypes you extend depends on what you're trying to do. I'll let Bill elaborate on this further... TomR Donna L Gresh wrote: > Well, I decided to make a stab at "turning off" the shading on my flat > surfaces, following the description below, information in the datarenderer > tutorial, and the example of the BarbRenderer. I began by creating the > "skeleton" for my new DataRenderer, which at the moment doesn't do anything > other than the defaults (and it still makes a picture which is a good sign > :-) > > However I don't quite understand what I need to do to override the > makeAppearance method. I found the makeAppearance method in ShadowTypeJ3D, > which and it looks like I should just be able to do a > "material.setLightingEnable(false)" all the time to turn shading off, but > I'm not clear on where to put this method..... there are a bunch of these > Shadow* classes, and I'm really not clear on which one does what; e.g. I've > got > ShadowUnshadedRealTupleTypeJ3D, ShadowUnshadedRealTypeJ3D, > ShadowUnshadedFunctionTypeJ3D..... > > You're right, this isn't a day at the beach, but since all I really want to > do is change one small aspect of the rendering, it seems I ought be be able > to just create the skeleton and change "one small thing". But I can't > figure out quite what that is.... > > Thanks in advance for any help. > > Donna L. Gresh, Ph.D. > IBM T.J. Watson Research Center > (914) 945-2472 > http://www.research.ibm.com/people/g/donnagresh > gresh@xxxxxxxxxx > > > Bill Hibbard > <hibbard@facstaff To: Donna L Gresh/Watson/IBM@IBMUS > .wisc.edu> cc: visad-list@xxxxxxxxxxxxx > Sent by: Subject: Re: controlling shading > billh@xxxxxxxxx.e > du > > > 12/19/2002 12:46 > PM > > > Hi Donna, > > > I am using java3D to render a flat surface (for color interpolation > > reasons) and would like to turn off shading, since it sometimes relects > > light somewhat strangely. I saw references in the mailing list archive to > > gouraud and flat shading, but I could not figure out how one can set > these. > > Thanks in advance--- > > Texture mapping uses flat shading, so you can get it > with GraphicsModeControl.setTextureEnable(true). This > does not work for IrregularSet domains, and will give > you "blocky" pixels. > > You can explicitly control shading by creating a custom > DataRenderer (see tutorial - no day at the beach) that > uses ShadowTypes that override the makeAppearance() > method of ShadowTypeJ3D. Shading is controlled in the > Material used in the Appearence. > > Writing a custom DataRenderer will take you out of the > realm of a casual user. > > Cheers, > Bill
visad
archives: