C# Managed Direct 3D example

Closed Posted Apr 21, 2009 Paid on delivery
Closed Paid on delivery

I need a C# WinForm app (.NET 2) which will display a background image and allow me to position a smaller image on top of it in 3 dimensional space (including rotation).

No light sources, no shadows, just positioning.

## Deliverables

The application will? consist of a single? WinForm.?

It should be written in C# and compile against .NET framework V2.

It should use Managed Direct 3D.

The application's single form will consist of 1 menu,? 1 control area, and? 1 preview area.

Menu:

File->Load background image

This will load a background image (jpg, bmp, png), if a background image is already loaded it will be replaced.

File->Load foreground image

This will load a forground image (png only), if a foreground image is already loaded it will add another foreground image.

Control area - docked to the right of the form.

A button to move the selected foreground image up by 1 pixel.

A button to move the? selected foreground image? down by 1 pixel.

A button to move the? selected foreground image? left by 1 pixel.

A button to move the? selected foreground image? right by 1 pixel.

A button to move the? selected foreground image closer by 1 pixel (larger).

A button to move the? selected foreground image? further away? by 1 pixel (smaller).

A slider to rotate the? selected foreground on the X axis.

A slider to rotate the? selected foreground on the? Y axis.

A slider to rotate the? selected foreground on the? Z axis.

Render area - occupies all remaining client area.

01: This should display the background image centred within the client area.? If the background image is larger than the render area then the camera needs to show the image from further away so that it is completely visible.

02: The foreground images should always appear in front of the background image.

03: No shadows should be cast anywhere.

04: Adjusting the rotation of? a foreground image should not adjust its lighting at all.

05: It should be possible to click on a foreground image to select it.?

06: Selecting a foreground image should update the UI settings in the control area to reflect the foreground images position + rotation.

07: Clicking a foreground image with the left mouse button, holding down the button, and moving the mouse should move the foreground image in the X,Y dimensions.

Additional notes:

01: Foreground images will be PNG only and will have an alpha mask.? This mask should be respected, so some pixels should appear solid, some transparent, and some semi-transparent.

02: I require an additional button in the Control area "Copy foreground image".? This will look at the selected foreground image, it's position + rotation, and generate? a bitmap which is the exact correct size to hold the selected foreground image only.? This generated image should contain the foreground image rotated / scaled exactly as it would be needed if this were a 2D application and I just wanted to draw a 2D foreground image on top of the 2D background image - this image should then be saved as a PNG file (any file name will do).? The image should either include the background image, or contain a correct alpha channel so that it may be drawn onto the background image and get the exact same result as I see in the render area.

C# Programming Microsoft Windows Desktop

Project ID: #3825637

About the project

8 proposals Remote project Active May 6, 2009

8 freelancers are bidding on average $164 for this job

ddumitrascu

See private message.

$212.5 USD in 2 days
(53 Reviews)
4.9
Genyk17

See private message.

$119 USD in 2 days
(5 Reviews)
4.2
daccitpvtltd

See private message.

$382.5 USD in 2 days
(13 Reviews)
4.3
egyptsoft

See private message.

$85 USD in 2 days
(3 Reviews)
3.1
sudhakarj21

See private message.

$255 USD in 2 days
(5 Reviews)
2.3
PandaMisha

See private message.

$85 USD in 2 days
(0 Reviews)
0.0
kierzenkowski

See private message.

$85 USD in 2 days
(1 Review)
0.0
texascodeguru

See private message.

$85 USD in 2 days
(0 Reviews)
0.0