3D and effects

A

AlexB

Hi all,

it is possible in WPF to implement such effects like shadowing from one
object on an other or mirror-effects (polished surface coated with glass that
reflects an image). And whats about antialiasing in WPF???
 

My Computer

M

Marcus

AlexB wrote:
> Hi all,
>
> it is possible in WPF to implement such effects like shadowing from one
> object on an other or mirror-effects (polished surface coated with glass that
> reflects an image). And whats about antialiasing in WPF???


Hi Alex,

As for the Shadow Effect:

Try the "BitmapEffect" property inherited from UIElement class.

DropShadowBitmapEffect myEffect = new DropShadowBitmapEffect();

myEffect.Color = Colors.Blue;
myEffect.Direction = 320;
myEffect.Softness = 1;
....

myElement.BitmapEffect = myEffect;

or

<Button>
<Button.BitmapEffect>
<DropShadowBitmapEffect Color="Blue" Direction="320" Softness="1"
/>
</Button.BitmapEffect>
</Button>

As for the reflection... This is commonly done using a VisualBrush...

VisualBrush is a Brush that can be used to "paint" a copy of a visual
element...

To simulate reflection, you create a VisualBrush for the element you
wish to reflect, then you apply a Opacity Mask on it.

To make it appear as a reflection, you need to apply a Skew Transform
and another transform (can't remember which) to the RenderTransform
property...

Finally, you need to draw something (like a rectangle, border, ...) wit
hthe VisualBrush!!! and place the reflection where you want.

I know there is a sample for that around, so take a look around, search
on VisualBrush in the SDK documentation... I'm pretty sure you're gonna
find what you need!

If you need more help, do not hesitate to repost your concerns in this
thread.....
 

My Computer

A

AlexB

Wow, thank you for quick reply. But the thing I'm really interested in are
effects in 3D scene (ViewPort3D). So I want 3D objects can drop shadows and
can be reflected on surfaces and so on (fog, glowing, antialiasing...). I
think it's not possible in this relase of WPF, isn't it? (I found out, that
antialiasing for 3D is supported only on Vista system)




"Marcus" wrote:

>
> AlexB wrote:
> > Hi all,
> >
> > it is possible in WPF to implement such effects like shadowing from one
> > object on an other or mirror-effects (polished surface coated with glass that
> > reflects an image). And whats about antialiasing in WPF???

>
> Hi Alex,
>
> As for the Shadow Effect:
>
> Try the "BitmapEffect" property inherited from UIElement class.
>
> DropShadowBitmapEffect myEffect = new DropShadowBitmapEffect();
>
> myEffect.Color = Colors.Blue;
> myEffect.Direction = 320;
> myEffect.Softness = 1;
> ....
>
> myElement.BitmapEffect = myEffect;
>
> or
>
> <Button>
> <Button.BitmapEffect>
> <DropShadowBitmapEffect Color="Blue" Direction="320" Softness="1"
> />
> </Button.BitmapEffect>
> </Button>
>
> As for the reflection... This is commonly done using a VisualBrush...
>
> VisualBrush is a Brush that can be used to "paint" a copy of a visual
> element...
>
> To simulate reflection, you create a VisualBrush for the element you
> wish to reflect, then you apply a Opacity Mask on it.
>
> To make it appear as a reflection, you need to apply a Skew Transform
> and another transform (can't remember which) to the RenderTransform
> property...
>
> Finally, you need to draw something (like a rectangle, border, ...) wit
> hthe VisualBrush!!! and place the reflection where you want.
>
> I know there is a sample for that around, so take a look around, search
> on VisualBrush in the SDK documentation... I'm pretty sure you're gonna
> find what you need!
>
> If you need more help, do not hesitate to repost your concerns in this
> thread.....
>
>
 

My Computer

?

=?Utf-8?B?VGhlUkhvZ3Vl?=

What Alex wants are some DX out of the box features that are not found in WPF.

WPF 3D is not DX 9. All the tricks you did in DX 7 will come back into play
with WPF...like having 2 models to simulate reflection.

Fog, blur, shadows, reflections - nope.

Anti-Aliasing - yes, but only in Vista.

I also hope you are not trying to write a 3rd person shooter...WPF 3D is NOT
DX 9. WPF 3D IS for rich client applications.

"AlexB" wrote:

> Wow, thank you for quick reply. But the thing I'm really interested in are
> effects in 3D scene (ViewPort3D). So I want 3D objects can drop shadows and
> can be reflected on surfaces and so on (fog, glowing, antialiasing...). I
> think it's not possible in this relase of WPF, isn't it? (I found out, that
> antialiasing for 3D is supported only on Vista system)
>
>
>
>
> "Marcus" wrote:
>
> >
> > AlexB wrote:
> > > Hi all,
> > >
> > > it is possible in WPF to implement such effects like shadowing from one
> > > object on an other or mirror-effects (polished surface coated with glass that
> > > reflects an image). And whats about antialiasing in WPF???

> >
> > Hi Alex,
> >
> > As for the Shadow Effect:
> >
> > Try the "BitmapEffect" property inherited from UIElement class.
> >
> > DropShadowBitmapEffect myEffect = new DropShadowBitmapEffect();
> >
> > myEffect.Color = Colors.Blue;
> > myEffect.Direction = 320;
> > myEffect.Softness = 1;
> > ....
> >
> > myElement.BitmapEffect = myEffect;
> >
> > or
> >
> > <Button>
> > <Button.BitmapEffect>
> > <DropShadowBitmapEffect Color="Blue" Direction="320" Softness="1"
> > />
> > </Button.BitmapEffect>
> > </Button>
> >
> > As for the reflection... This is commonly done using a VisualBrush...
> >
> > VisualBrush is a Brush that can be used to "paint" a copy of a visual
> > element...
> >
> > To simulate reflection, you create a VisualBrush for the element you
> > wish to reflect, then you apply a Opacity Mask on it.
> >
> > To make it appear as a reflection, you need to apply a Skew Transform
> > and another transform (can't remember which) to the RenderTransform
> > property...
> >
> > Finally, you need to draw something (like a rectangle, border, ...) wit
> > hthe VisualBrush!!! and place the reflection where you want.
> >
> > I know there is a sample for that around, so take a look around, search
> > on VisualBrush in the SDK documentation... I'm pretty sure you're gonna
> > find what you need!
> >
> > If you need more help, do not hesitate to repost your concerns in this
> > thread.....
> >
> >
 

My Computer

?

=?Utf-8?B?QWxleEI=?=

Thanks for info. I really don't want to write a 3D shooter game. What we want
to develop is an application with geo map functionality based on Virtual
Earth images. We plan to place the tiles on 3D plane. I wanted to hide the
plane's edge in horizon with the fog effect. Futher more it would be very
cool to get shadows of objects (pin) dropped on the plane (map).

I see I will have to use any tricks to implement this, for eaxample with
opacity or some brushes...

Thank for help...


"TheRHogue" wrote:

> What Alex wants are some DX out of the box features that are not found in WPF.
>
> WPF 3D is not DX 9. All the tricks you did in DX 7 will come back into play
> with WPF...like having 2 models to simulate reflection.
>
> Fog, blur, shadows, reflections - nope.
>
> Anti-Aliasing - yes, but only in Vista.
>
> I also hope you are not trying to write a 3rd person shooter...WPF 3D is NOT
> DX 9. WPF 3D IS for rich client applications.
>
> "AlexB" wrote:
>
> > Wow, thank you for quick reply. But the thing I'm really interested in are
> > effects in 3D scene (ViewPort3D). So I want 3D objects can drop shadows and
> > can be reflected on surfaces and so on (fog, glowing, antialiasing...). I
> > think it's not possible in this relase of WPF, isn't it? (I found out, that
> > antialiasing for 3D is supported only on Vista system)
> >
> >
> >
> >
> > "Marcus" wrote:
> >
> > >
> > > AlexB wrote:
> > > > Hi all,
> > > >
> > > > it is possible in WPF to implement such effects like shadowing from one
> > > > object on an other or mirror-effects (polished surface coated with glass that
> > > > reflects an image). And whats about antialiasing in WPF???
> > >
> > > Hi Alex,
> > >
> > > As for the Shadow Effect:
> > >
> > > Try the "BitmapEffect" property inherited from UIElement class.
> > >
> > > DropShadowBitmapEffect myEffect = new DropShadowBitmapEffect();
> > >
> > > myEffect.Color = Colors.Blue;
> > > myEffect.Direction = 320;
> > > myEffect.Softness = 1;
> > > ....
> > >
> > > myElement.BitmapEffect = myEffect;
> > >
> > > or
> > >
> > > <Button>
> > > <Button.BitmapEffect>
> > > <DropShadowBitmapEffect Color="Blue" Direction="320" Softness="1"
> > > />
> > > </Button.BitmapEffect>
> > > </Button>
> > >
> > > As for the reflection... This is commonly done using a VisualBrush...
> > >
> > > VisualBrush is a Brush that can be used to "paint" a copy of a visual
> > > element...
> > >
> > > To simulate reflection, you create a VisualBrush for the element you
> > > wish to reflect, then you apply a Opacity Mask on it.
> > >
> > > To make it appear as a reflection, you need to apply a Skew Transform
> > > and another transform (can't remember which) to the RenderTransform
> > > property...
> > >
> > > Finally, you need to draw something (like a rectangle, border, ...) wit
> > > hthe VisualBrush!!! and place the reflection where you want.
> > >
> > > I know there is a sample for that around, so take a look around, search
> > > on VisualBrush in the SDK documentation... I'm pretty sure you're gonna
> > > find what you need!
> > >
> > > If you need more help, do not hesitate to repost your concerns in this
> > > thread.....
> > >
> > >
 

My Computer

Top