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

  • Hybrid cloud platforms need to think in terms of sweet spots when it comes to application platform interface (API) integration. Cloud Velocity has taken a unique approach to tight integration with the API sweet spot; enough to support the agility of physical and virtual apps, including multi-tier environments and databases, while reducing capital and operating costs. Read this case study to learn how a global-level Fortune 1000 company was able to deploy an entire 6+ TB Oracle eCommerce stack in Amazon Web …

  • Corporate e-Learning technology has a long and diverse pedigree. As far back as the 1980s, companies were adopting computer-based training to supplement traditional classroom activities. More recently, rich web-based applications have added streaming audio and video, real-time collaboration and other new tools to the e-Learning mix. At the same time, the growing availability of informal learning tools--a category that includes everything from web searches to social media posts--are having a major impact on …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds