Windows Vista Forums
Vista Forums Home Join Vista Forums Windows 7 Forum Vista Tutorials Tags
Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Misc Newsgroups > Avalon

Vista - Advice on creating a 3d control

 
 
Old 01-31-2006   #1 (permalink)
LM


 
 

Advice on creating a 3d control

Hi,

I'm looking to create a control similar to the winforms listview (eg it has
different icon styles, list mode, details, etc) except that it uses the 3d
stuff in WPF to make each object a 3d mesh instead of an icon. Right now I
just made a custom control with a big viewport3d in it and am going to do all
to work myself (which sucks). My question is: is there a better way?
Previously I've created custom listboxes by using databinding and the
DataTemplate stuff which is really awesome and slick. Can I do something
similar? (like inheriting from a 2d control and using all its layout logic
and containers to support databinding) One way i was thinking was to use a
listview then in the datatemplate make a new viewport for each item.
Although I'm not sure if this would allow things like making the items fly to
their new positions when the sorting criteria changes. Also everything i know
about windows and 3d programming tells me that making 100s of viewports is a
bad idea performance wise, although since objects by default can extend past
the viewport edges, avalon may be doing things behind the scenes differently
than I assume. Any insight would be appreciated.

Thanks,
Lucas


My System SpecsSystem Spec
Old 01-31-2006   #2 (permalink)
TheRHogue


 
 

RE: Advice on creating a 3d control

WPF 3D is not as integrated as the 2D stuff for this version.

You can style listbox items to each have a viewport - you can bind textures
to materials. It's not full proof because again, 3D is not as integrated.

You can use a single Viewport3D, but you are on your own at that point. I
have a List3D control at http://www.therhogue.com/WinFX - graph3D sample.

It allows for binding. It's an items control and a middleman...binding goes
through it and then the visuals are interpreted into the viewport.


"LM" wrote:

> Hi,
>
> I'm looking to create a control similar to the winforms listview (eg it has
> different icon styles, list mode, details, etc) except that it uses the 3d
> stuff in WPF to make each object a 3d mesh instead of an icon. Right now I
> just made a custom control with a big viewport3d in it and am going to do all
> to work myself (which sucks). My question is: is there a better way?
> Previously I've created custom listboxes by using databinding and the
> DataTemplate stuff which is really awesome and slick. Can I do something
> similar? (like inheriting from a 2d control and using all its layout logic
> and containers to support databinding) One way i was thinking was to use a
> listview then in the datatemplate make a new viewport for each item.
> Although I'm not sure if this would allow things like making the items fly to
> their new positions when the sorting criteria changes. Also everything i know
> about windows and 3d programming tells me that making 100s of viewports is a
> bad idea performance wise, although since objects by default can extend past
> the viewport edges, avalon may be doing things behind the scenes differently
> than I assume. Any insight would be appreciated.
>
> Thanks,
> Lucas
>

My System SpecsSystem Spec
 

Thread Tools


Similar Threads
Thread Forum
Advice on creating outbound firewall rule System Security


Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media Ltd

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46