14 ms·
Y-down coordinates still feel weird to me too, but that's a pretty longstanding convention for screen space coordinates: https://www.ntu.edu.sg/home/ehchua/pro
by wlesieutre 7y ago
Y-down coordinates still feel weird to me too, but that's a pretty longstanding convention for screen space coordinates:
https://www.ntu.edu.sg/home/ehchua/programming/opengl/images/Ex01_Projection.png https://www.ntu.edu.sg/home/ehchua/programming/opengl/images...
(via https://www.ntu.edu.sg/home/ehchua/programming/opengl/CG_Examples.html https://www.ntu.edu.sg/home/ehchua/programming/opengl/CG_Exa...)
- kgwxd 7y agoIs Unity the odd ball? I've never done any serious game dev but I've done plenty of screen drawing and Y-down is the only convention I've ever come across.
- wlesieutre 7y agoIt's more that there isn't a standard, just a bunch of different conventions in different places. Unity is like DirectX, Godot is like OpenGL. Most content creation software that I've used are right-handed with Z-up, maybe dating back to CAD packages treating floor plans (or other 2D drawings) as XY? Maya is an exception here with a Y-up, and I think SolidWorks might be in that camp as well. https://twitter.com/DJ_Link/status/952185276218200065/photo/1 https://twitter.com/DJ_Link/status/952185276218200065/photo/...
- weinzierl 7y agoPOV-Ray uses a left-handed system with Y-up. I think this is pretty unusual but I always found it strangely intuitive.
- nineteen999 7y agoZBrush is Y-up, Z is front-back. It's freaking annoying.
- grawprog 7y agoEvery game or graphics library i've used had y-down coordinates. It always confused the hell out of me and I'll still make mistakes sometimes. It's the opposite of the machines I spent every day programming. They're all y-up.
- tomtheelder 7y agoYes. I think in Unity's case this is a consequence of their 3D and 2D originally (or maybe still?) being the same thing, so they preserved the X and Y axis between them. 2D coordinate systems almost always have top left as (0,0).
- mntmoss 7y agoScreenspace was always x-right, y-down (aka Cartesian quadrant IV) because that was the convention NTSC used to paint the screen. 3D has not had the benefit of an obvious hardware model to emulate. Y-up, Z-up, Y-down are probably the three most common variants though.
- taneq 7y agoWho else in 3D uses Y-down? I’ve seen Y-up / Z-into-screen (a la Direct3D), Y-up / Z-out-of-screen (a la OpenGL convention), and Y-into-screen / Z-up (top down type games like RPGs, RTS etc.) I haven't seen Y-down (in 3D space) since software rendering days. I've yet to meet the monster who would use X-left. :P
- wlesieutre 7y agoI can't think of anything else with Y-down in 3D, but I can sort of see the logic in saying "the vertical axis in screen space and world space might as well be the same." It's all arbitrary anyway, so why not let one thing be consistent instead of saying "Y is down on the screen, but in the world Y is sideways and Z is up." (I do still think it's weird, but I'm sure I'd get used to it)
- webkike 7y agoI've always found this convention bizarre, because graphs are always drawn with the origin being the bottom left. I'm not sure where the convention comes from. Maybe CRT screens drawing that way?
- pauljurczak 7y agoOgre 3D and VTK have a "normal", Y-up coordinate system.