Custom 3-D Vector Control

 

This control has the following features:

  • A 3D vector MFC control derived from CButton.
  • Real-time light rendering on a 3D ball.
  • Variable ball radius and position.
  • Supports bitmap background (tiled).
  • Supports vertical gradient color background (from color to color, as visiable in screen capture above).
  • Variable ball color (diffuse), light color and ambient color.
  • Variable specular intensity.
  • Supports attached controls (for automatic update).
    That is, you can specify IDs of other controls that will reflect (textually) the value of a specific vector component. The vector control will automatically update (calling SetwindowText) the display. See the 3 static text controls in the example above.
  • Variable mouse sensitivity.
  • Supports front clipping (vector will not have negative Z values).
  • Supports callback functions for the following events:
    1. The trackball has moved (vector is changing).
    2. The user dropped the trackball (released left mouse button). i.e., the vector was changed.

A dialog-based sample application (screen capture above) and the control source code can be found here



Comments

  • Simple great

    Posted by Legacy on 01/25/2002 12:00am

    Originally posted by: Andre

    Very nice job. At first I thought you were using OpenGL or DirectX, but this is much better and compatible.

    Andr�

    Reply
  • Error when run in whistler

    Posted by Legacy on 10/27/2001 12:00am

    Originally posted by: nameSpace

    It generates an error in Windows XP.

    Reply
  • Congrats

    Posted by Legacy on 10/03/2001 12:00am

    Originally posted by: Jack Downar

    Very nice job

    Reply
  • High Hand!

    Posted by Legacy on 09/30/2000 12:00am

    Originally posted by: Error Free

    Beautiful enhance! I need it!

    Reply
  • appriciation from Syed Tauseef Ahmed

    Posted by Legacy on 02/23/2000 12:00am

    Originally posted by: SYED TAUSEEF AHMED

    Nice Try man keep it up and we are here to appriciate

    you.

    Reply
  • About 3D Vector Control

    Posted by Legacy on 06/26/1999 12:00am

    Originally posted by: Balasubramanian.Natarajan

    It is very nice to see...

    Reply
  • This is WELL cool - and I have a question...

    Posted by Legacy on 04/12/1999 12:00am

    Originally posted by: Jason Hattingh

    I am *trying* to find a good reason to use your code! I don't really want a specular ball in my apps, but I *have* written an object reader for Lightwave 3D files. Is it possible to use your control to display a lightwave object, given the fact that the object can supply all the coordinates of it's points, etc? It's not clear to me how this would be done - presumably in BuildImage()

    Thanks in advance!

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Protecting business operations means shifting the priorities around availability from disaster recovery to business continuity. Enterprises are shifting their focus from recovery from a disaster to preventing the disaster in the first place. With this change in mindset, disaster recovery is no longer the first line of defense; the organizations with a smarter business continuity practice are less impacted when disasters strike. This SmartSelect will provide insight to help guide your enterprise toward better …

  • "Security" is the number one issue holding business leaders back from the cloud. But does the reality match the perception? Keeping data close to home, on premises, makes business and IT leaders feel inherently more secure. But the truth is, cloud solutions can offer companies real, tangible security advantages. Before you assume that on-site is the only way to keep data safe, it's worth taking a comprehensive approach to evaluating risks. Doing so can lead to big benefits.

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds