Tech Support Blog

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Wednesday, 21 January 2009

Glass Objects

Posted on 19:04 by Unknown
930 will have some new options for attached objects.  One is to declare a "glass" object.  When an object is declared to be glass, it is moved to the very end of the drawing order - even after the cockpit object.

The idea of glass objects is to let you make translucency that works from any view angle.  To make multiple layers of glass, the trick is to use pairs of one-sided triangles.  The glass (visible from the inside only) goes first, then the glass (visible only from the outside) goes second.  All of this goes into the object with the "glass" property in Plane-Maker.

One side benefit of the two-triangle approach is that the inside and outside of the windows can be tinted differently.

Having glass objects does three things for us architecturally:
  1. It takes pressure off the interior cockpit object.  The interior cockpit is the only object that can have manipulators, so texture space in the interior cockpit object is quite valuable.  By allowing translucency in an attached object, you can put your window textures somewhere else and save texture space for the cockpit object.
  2. It gets around the current weirdness where the interior cockpit object is drawn last but the exterior cockpit object is drawn first.  The glass object is always drawn last.  Period.
  3. It sets us up someday for some kind of shadowing scheme in the cockpit.  This is a bit pie in the sky, but most pixel-based shadowing algorithms go a bit bonkers on translucent geometry; by flagging the whole object as "glass" we can simply omit it from shadow calculations.
The 921 draw order has the exterior cockpit object drawn first (if drawn) and the interior cockpit object drawn last (if drawn).  This made sense at the time - the exterior cockpit object was being used primarily for a pilot figure, with windows in the ACF paint - so it had to be drawn before the ACF fuselage.  The interior cockpit object has to be drawn last because the coordinate system is changed to a super-close-to-the-user coordinate system that has to be drawn last.

Now that there are attached objects, people are modeling a lot more of the airplane, the usual approach is to have all 3-d present all the time, so that a roaming camera won't reveal missing parts of the airplane.
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in aircraft, cockpits | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Pixel Shaders and Moore's Law
    In my post on 64-bit computing and X-Plane, there's a point that's implicit: there is a cost (in development time) to adopting any ...
  • Hierarchy and WED
    I just finished fixing some bugs in WED regarding the hierarchy view. (To get a sense of what a hierarchy view is like, try AC3D...) In WED...
  • Is Bigger Always Better?
    We've been preaching "one big texture, not lots of little textures" for a while now, and generally speaking, packing a lot of ...
  • Systems Modeling and Physics Modeling
    In past blog posts I have tried to contrast two very different different approaches to simulation, which I would loosely call: "Predic...
  • How Framerate Dies - Glitching
    Back in the good old days (that would be X-Plane 6), X-Plane's framerate would suffer in two ways as you cranked up the rendering option...
  • The X-Desktop and iPhone Are Not Zero-Sum Games
    On the menu this morning: first a whiny rant, then a nerdy one. Someone pointed me at this post. Before I go into my geeky diatribe about l...
  • Clean Airport Layouts
    I have blogged about correct airport layouts before, but let me bring the point up again, because it is so important: You must create struc...
  • So How Big of a Mesh Can You Build?
    I get asked about the maximum mesh density in X-Plane a lot. First, I must note that X-Plane's mesh is adaptive - the triangles are not ...
  • What is a panel region?
    X-Plane 9 introduces a new OBJ feature: panel regions. The basic idea is this: In X-Plane 8 you could use the 2-d panel as a texture in you...
  • Why Do Custom Lights Use the Object Texture?
    I am trying to be disciplined and put documentation on the X-Plane wiki , and limit the blog to announcements, rants, and explanations of wh...

Categories

  • absurdly cute
  • Air Traffic Control
  • aircraft
  • Android
  • animation
  • announce
  • cockpits
  • documentation
  • drivers
  • file formats
  • global scenery
  • Goofy Screenshots
  • hacks
  • hardware
  • hobbies
  • inside x-plane
  • installer
  • ipad
  • iphone
  • legal
  • localization
  • modeling
  • off topic
  • palm pre
  • panels
  • performance
  • plugins
  • political
  • scenery system
  • tools
  • X-Plane 10
  • XSquawkBox

Blog Archive

  • ►  2011 (12)
    • ►  February (1)
    • ►  January (11)
  • ►  2010 (111)
    • ►  December (4)
    • ►  November (4)
    • ►  October (10)
    • ►  September (9)
    • ►  August (12)
    • ►  July (8)
    • ►  June (4)
    • ►  May (13)
    • ►  April (13)
    • ►  March (11)
    • ►  February (12)
    • ►  January (11)
  • ▼  2009 (130)
    • ►  December (16)
    • ►  November (11)
    • ►  October (6)
    • ►  September (16)
    • ►  August (12)
    • ►  July (11)
    • ►  June (9)
    • ►  May (5)
    • ►  April (10)
    • ►  March (9)
    • ►  February (9)
    • ▼  January (16)
      • Who Am I?
      • The News
      • Glass Objects
      • Broken Panels
      • Two Squashed Bugs for 930
      • Unfinished Business
      • Panel Texture and Panel Clicking
      • What Happened to X-Plane 910
      • Which is Faster: Panel Texture or 3-d Instruments
      • Fixing Panel Editing in AC3D
      • Robin Redoes the Airport Data Page
      • Accidental Contracts
      • Al Bedo Makes an Omlette
      • File Name Replacement Vs. the Library
      • Who Is This Al Bedo Guy Anyway?
      • Failed Ideas and Two-Core Rendering
  • ►  2008 (147)
    • ►  December (18)
    • ►  November (10)
    • ►  October (7)
    • ►  September (11)
    • ►  August (15)
    • ►  July (9)
    • ►  June (14)
    • ►  May (9)
    • ►  April (14)
    • ►  March (13)
    • ►  February (6)
    • ►  January (21)
  • ►  2007 (100)
    • ►  December (17)
    • ►  November (13)
    • ►  October (13)
    • ►  September (9)
    • ►  August (17)
    • ►  July (7)
    • ►  June (4)
    • ►  May (6)
    • ►  April (9)
    • ►  March (2)
    • ►  February (3)
Powered by Blogger.

About Me

Unknown
View my complete profile