Questionable Content

Here are a few questions, there are no right answers (except for the one with a right answer), and please choose the first answer that comes to you:

What are the primary colors?

A. Red, yellow, blue

B. Red, green, blue

You’re making a 3D model of some object. Which way is up in your world?

A. +Y

B. +Z

What color is chartreuse?

A. Green-yellowish

B. Red-orangish

You write out a 4×4 transform matrix to translate an object. You put the translation values:

A. in the bottom row

B. in the right column

All for now, my opinions and theories tomorrow (though feel free to comment before then).

Update: “answers” here.

18 thoughts on “Questionable Content

  1. wforl

    Well, Crytek uses Z-up, so that MUST be the right anwer :p

    When people plot 2d graphs, you’ll always see it plotted against X and Y. X is always known as “Across” and Y as “Up”, so extending upon this concept with another dimension (Z), this should be Depth? no? …. seeing as “Up” and “Across” are already taken. I think working in 2d where Y is Up and 3d where Z is up just confuses things. I guess this all depends on your perspective though, i.e. are your viewing that graph as say a painting on the wall, or the carpet on the floor. In whixh case the opposite would apply. Oh cruel world ! stop confusing me !

    I kinda think the same thing for the last question. Why have 2 different standards thats essentially lead to the same result just with different looking calculations? It just confuses matters when it needn’t.

  2. reavenk

    It used to be RYB from K through 12 in art class, then when I started doing computer graphics it was RGB, and for the longest time I didn’t know why it changed until wikipedia taught me the difference between subtractive and additive color wheels.

    It used to be +Y was up back in school while I was learning to program, all the student and teachers had this unspoken agreement that that was the de facto. When I got a job, it was Z+, and 4 years later I’m still not used to it.

    Greenish-Yellowish.

    Right Column – just because it’s easier for me the visualize the matrix in column form.

  3. sigmel

    1. RGB – I’ve always been around computers, I suppose
    2. +Y – Though I can see wanting to use Z+, especially when dealing with 3D textures
    3. A – Never knew there was an red-orangish version
    4. A – Just been preferential to row major matrices all my life

  4. kmadsen

    Magenta, yellow, cyan is for painters, and RGB is better.
    Am I making the model, the world, or both? …. OK +Y
    Green-yellowish… no contest
    In the right column

  5. Simon Taylor

    For no. 4, obviously I’d put them in the bottom row, and when that didn’t work I’d try the right column :).

  6. mvandewettering

    1. RGB. I can’t think of a reason to consider RYB.
    2. I think of +Y as going up. It’s annoying though, since I think of pixel coordinates having +Y going down.
    3. Isn’t chartreuse a wine made in France?
    4. I’ve written it both ways. In recent years, I prefer to think of points as column vectors, which means it is most natural to place them in the last column. I believe that I’ve written raytracers with both conventions though.

  7. xskinyx

    A,A,A,A

    Question 2 could go either way though…. since alot of artwork is authored Z up. I prefer LHS, so Y up seems more sane.

  8. LRBni

    1. A (RYB) – unless talking specifically about CG
    2. A (+Y)
    3. ? – Never heard that word to describe a colour
    4. B (right column)

  9. Pingback: Real-Time Rendering · Questionable Answers

  10. itsjrich

    1) Definitely RGB.
    2) +Y… Z is for depth, hence Z-buffering.
    3) Green-yellow… had no idea that there were other colors with that name.
    4) Right column.

  11. Reg

    I know it’s too late but here are my answers anyway:

    * A (RGB) of course.
    * Usually A (+Y) as it’s assumed by default in DirectX/OpenGL, although I sometimes use +Z when doing outdoor terrain rendering.
    * ?? My English is not so good, sorry.
    * A because I use DirectX. And I believe it’s generally more intuitive to transform vec2 = vec1 * matrix than vec2 = matrix * vec1 😛

  12. Ivan-Assen

    We spent our first 5 years in the industry doing 2D RTS games, so it was only natural, when starting our 3D engine, to keep “the action” in the XY plane, and make +Z “up”

  13. Pingback: Real-Time Rendering · Chartreuse and Puce

  14. Pingback: Real-Time Rendering · Yup, Zup?

Comments are closed.