5 ms·
Apple Ditching OpenGL?
- thrillgore 12y agoOpenGL is about two decades of amalgamations and mistakes that needed to be cut out of the working spec. And as a result we have more low-level APIs that are now vendor specific, such as Metal, AMD's Mantle, and so forth... The downside is we're now at risk of losing an open standard API. OpenGL is bad, and yes, it needs to be retired. But without an mature alternative development costs will only grow. All of this reeks of the worst kind of anti-competitive behavior and its time for an investigation.
- GioM 12y agoI don't think you actually know what anti-competitive means.
- dang 12y ago> I don't think you actually know what anti-competitive means. This is not a good Hacker News comment because it puts another user down and because it doesn't add information. It would be much better without the first bit and if it taught us something about what "anti-competitive" means.
- angersock 12y agothe market hungers to return to a programming paradigm in which the developer can interact much more DIRECTLY with the hardware without a bloated CPU bound OS or graphics API in the way. Yeah, because all of us really want to go even more backwards in terms of having to deal with the BARE METAL (read: weird fucking behavior) of all of these cards. The current situation with OpenGL is far from ideal, but it's a damned sight better than having to rewrite my code all the time every time for each new device that comes out. The last chunk of the article talks about the magical ~physics~ that this sort of thing will enable, because real-time raytracing is the the future right? Right? Guise? If Apple does indeed end up ditching OpenGL (not that they were doing a great job of keeping up with the core API until recently, though they did keep new extensions rolling in steadily), it'd be more proof of them being shitty to engineers and the rest of the development community as a whole.
- flohofwoe 12y agoTo be fair, the Metal API is a lot more straightforward then OpenGL, and OpenGL is far from being "write once run everywhere". Each OpenGL platform, GPU and driver comes with its own set of quirks and problems. I do not think that vendor-specific APIs are the right way, but the current OpenGL situation isn't that much different. I would have hoped that Apple shows some real progress on their OpenGL implementations instead of writing their own API though.
- United857 12y agoThat's probably why Apple didn't announce Metal for the desktop. With tight vertical integration with the hardware, and no contention for multiple apps/windows drawing to the screen, the iOS platform is ideal for this.
- drawkbox 12y agoFrom a company that funded Khronos for OpenGL ES and shared canvas/webkit with the world, this would be the wrong direction. WebGL success is largely hooked to OpenGL and its use on mobile as OGLES and WebGL are based on the same base spec. The OpenGL battle was just won with mobile, why replace that?
- ctdonath 12y agoGet the competition where you want them, while you move to higher ground.
- motoboi 12y agoAre we talking about Sun Tzu stuff here? “All warfare is based on deception. Hence, when able to attack, we must seem unable; when using our forces, we must seem inactive; when we are near, we must make the enemy believe we are far away; when far away, we must make him believe we are near.” Is this particular case, make everybody compromises performance by adapting themselves to OpenGL while we prepare an almost-bare-metal thing?
- ctdonath 12y agoThe key (and there's probably a Sun Tzu quote about it as well) is getting your competition to where they want to be ... in a way that entangles them there. OpenGL is a respectable place to be, and making it an industry standard & norm ensures everyone can achieve their goals by leveraging the work of others; there's nothing wrong with a solid grounding in OpenGL. The trick, of course, is recognizing that there is always a better position, and preparing to move there while helping everyone else get to a nice comfortable position below it.
- krisdol 12y agoAgreed. I've been excited at the notion that OpenGL was becoming the de-facto low level graphics API (if you want any multi-platform compatibility), and then Apple throws this new thing out to re-fragment the market.
- 12y ago
- stuaxo 12y agoThis wouldn't really make sense.
- m_eiman 12y agoIf you think I’m exaggerating… just ask yourself… what other Apple API’s or Microsoft API’s get their own brand logo? For Apple, pretty much all of them. SceneKit, SpriteKit, HealthKit, CloudKit, … The list is long.
- leejoramo 12y agoI think we could push this at least all the way back to 1991 and QuickTime
- higherpurpose 12y agoAdopting Metal for reasons of extra performance is one thing. Completely eliminating OpenGL ES support from iOS has no excuse other than shutting off Android, so that would be a pretty nasty move from them. I hope they don't do it. Forget about Android users - it's iOS developers that should be crying foul if Apple intends to do that, as it will force them to live in an iOS-only world whether they like it or not.
- hga 12y ago"as it will force them to leave in an iOS-only world whether they like it or not." I think you meant "live", but you could get leave to work in there as well. It would certainly take a lot to convince me to develop something for the iOS ... gated community.
- xienze 12y ago> It would certainly take a lot to convince me to develop something for the iOS ... gated community. Like the chance to make decent money? Gotta give Apple credit, their users are willing to shell out cash.
- hga 12y agoEmphasis on the word "chance". You could spend quite a bit of effort developing an app only to find out that Apple won't approve it, or perhaps requires unacceptable changes. Hence my emphasis on "gated community". Some people like the trade-offs in this business model (earning money does have its attractions :-), I personally don't.
- bradshaw1965 12y agoWho said anything about completely eliminating OpenGL ES? SceneKit writes to OpenGL, OpenGL views are pervasive, WebGL is turned on in Safari, CALayers are OpenGL backed. Metal just lets you tweak the render pipeline.
- jkrems 12y agoI'm actually surprised (after reading his bio) by this article. Did I completely miss the point of Metal? It sounded like more similar to low-level console platform APIs than to OpenGL or DirectX.
- Pxtl 12y agoWhich, realistically, is what Apple needs. The iOS platform is becoming one of the de-facto big players in the portable console market. Console-level APIs are a logical extension. Insert speculation about Apple TV as Wii competitor here.
- wavefunction 12y agoCan you elaborate about Apple becoming one of the big players in the portable console market? I don't really follow Apple so maybe you're referring to their other offerings and some sort of integration but Apple has never seemed to understand "gaming."
- jkrems 12y agoiOS becomes a pretty big gaming platform currently. This years Apple Design Award winners have a pretty decent game percentage: https://developer.apple.com/design/awards/ https://developer.apple.com/design/awards/
- wtallis 12y agoWhat isn't Apple understanding? Do they need to make a dedicated gaming device for them to be considered to "understand" the gaming market? The iPod Touch outsells the PSP/PSVita, which is the second-place of the dedicated portable gaming consoles. Add in the iPhones, and you're looking at an install base as big as Nintendo's DS/3DS family.
- potatolicious 12y agoIt's quite simple really, Apple kind of accidentally became one of the biggest players in gaming. Not everyone has a DS, not everyone has a Vita, but nearly everyone has a smartphone. Smartphones are the one device you always have on you, and it is by far the mobile device that consumes the most of your time. This makes Android and iOS huge mobile gaming players, even if they didn't set out to do so. Gaming on smartphones and tablets has become a much larger thing than what Apple and Google ever suspected. How many hours do you figure people game on their Androids and iPhones every day, vs. "real" mobile gaming devices like the DS or the PS Vita? Easy low-level OpenGL access paved the way, somewhat accidentally, and Apple has been shrewd in keeping middleware developers well-supported, and now they're working on a bunch of first-party libraries that lower the barrier to entry for game devs. And now, they're working on their own low-level hardware access.
- cek 12y agoTwo additional reads on the subject I found useful: http://www.anandtech.com/show/8116/some-thoughts-on-apples-metal-api http://www.anandtech.com/show/8116/some-thoughts-on-apples-m... https://ilikecode.wordpress.com/2014/06/03/what-impact-ios-metal/ https://ilikecode.wordpress.com/2014/06/03/what-impact-ios-m...
- dottrap 12y agoMetal isn't on Mac. They ditching Mac too?
- Argorak 12y agoThe Mac is not a gaming platform, while iOS certainly is.
- mantrax5 12y agoThey're ditching Intel and the discrete GPU chips that it needs. This is the reason Metal isn't introduced on Mac. They're waiting. Waiting until their Macs run on ARM. I'm not saying it'll happen tomorrow. It may take a few years.
- motoboi 12y agoI don´t understand. Is Apple returning to make its own chips trend?
- mantrax5 12y agoApple never had their own desktop chips. PowerPC was an IBM architecture. They had created ARM to make chips for Newton, but that's it.
- filmgirlcw 12y agoI don't necessarily agree. I think a big part of Metal is to address the limited resource space (such as RAM) that game makers currently face. If you have an iPhone 5S, you're usually fine -- but iOS 7 (and I'm sure iOS 8) takes up a lot more overhead than previous versions. In addition to paving the way for better experiences and better manipulation of the GPU, I also think this about providing game makers a way to better take advantage of the full iOS hardware stack. That isn't to say there might not be another reason for them to forgo the Mac (whether it's waiting for ARM support or otherwise) -- or that Apple probably isn't actively looking at if/when it can bring an A-whatever to power a Mac, but that still seems a long way off.
- gfodor 12y agoI might be way off here but the idea that metal et al have anything to do with enabling ray tracing seems absurd. The cards still are hardware optimized for triangle rasterization, the api doesn't change that.
- deleted 12y ago[deleted]
- fulafel 12y agoVendors should just publish specs for GPUs and make them normal compiler targets. Drivers should just arbitrate access from user space.
- billjings 12y agoThe author has made a misattribution: apologies are due to John Donne, not Ernest Hemingway, for the repurposing of Meditation XVII.
- alex_duf 12y agoAnyone has any good idea of what will be the impact of such a decision on the Linux gaming market ?
- freehunter 12y agoHow many ports are there from iOS to Linux?
- Arjuna 12y agoWhat I find fascinating, in general, is Apple's rise as a gaming powerhouse. Take SpriteKit. It didn't exist until it was announced at WWDC 2013. Up until that point, the functionality offered by it was largely either hand-rolled by the developer, or achieved via framework (e.g., Cocos2D). I think Apple realized that they could capture more mind-share and confidence if they offered their own first-party framework offering. Fast-forward a year later, and we have an enhanced SpriteKit (i.e., light sources, field forces, per-pixel physics, inverse kinematics), and of course the newly-announced SceneKit (3D scene rendering for casual games), Swift and Metal... all within a year! With regard to Metal, Tim Sweeney had this to say after the Zen Garden app demo: "There are thousands of objects being rendered here in a scene that we couldn't have dreamed of building, prior to Metal delivering a 10 fold increase in rendering efficiency. To have this level of graphics capability on iPhone and on iPad now is a stunning breakthrough. We're proud to have been a part of it. Of course, we'd love to share this with you, so as soon as iOS 8 is available, we'll be making Zen Garden available in the App Store for free."
- _random_ 12y agoYes, it's like watching history repeat itself. Apple is the new pre-20xx Microsoft, Metal is the new DirectX, Swift it the new VB(A/Script).
- blazespin 12y agoSwift is hardly VB. Swift is a modern functional language competitive with Java. It's far more complex than Objective-C. The threading model in Swift utilizes GCD and Closures versus the "perform selector in background" semantics of ObjC. Not for junior engineers.
- Pxtl 12y agoA PC vendor-specific high-level language? VB is the obvious comparison. Sure Swift is a better language, but it fills the same niche as VB - a platform has a difficult API and they want a more productive language, so they make something very high level using popular practices of the day, custom made to map tightly to their platform. It's just the popular practices in that niche in VB's day were things like Delphi and Tcl/TK, whereas Swift comes out in the day of Java/C#/Golang.
- le_meta 12y agoobviously, they're not a fan of cross-platform frameworks.
- _random_ 12y ago"While the rest of the game community is trying to adopt Mantle, DirectX 12 or Metal, I’ll be re-learning my ray-tracing and quantum physics" Agree, let me just grab my quantum physics engine and spin up my realtime ray-tracer and build a next hit game in a month.
- Vanayad 12y agoIsn't metal basically the same thing as mantle ? By that I mean a low level API that has direct access to the GPU ? Also Dx12 is said to do this soon.
- IvanK_net 12y agoKeep in mind, that Microsoft, Apple, Samsung, nVidia, AMD, Intel, will keep having support for OpenGL (ES or other versions). And it is still the simplest way to write code for multiple platforms at the same time. Of course, each of them tries to "bind" you by offering some extra speed or features and make it hard for you to publish to other platforms. But at the end, I believe that OpenGL (ES ...) is the only thing that will survive :) It is very much like client-side web apps. Adobe wants you to use Flash, so you would have to buy Adobe Flash. Microsoft wants you to use Silverlight, so you would have to buy Visual Studio. Oracle wants you to use Java, etc ... But at the end, Javascript remains. It is not prefect for everyone, but it is "open" and free to implement, free to develop without paying anything to anybody.
- bradshaw1965 12y agoProvocative title, but probably overstated. SceneKit uses OpenGL directly with shaders and deferred rendering. Metal seems likely to become more mainstream as engine developers adopt the tech, but there are going to be lots of developers who are overwhelmed with writing glsl shaders, let alone significantly altering the render pipeline.
- Executor 12y agoThis is tragic news. Instead of working on an open cross-platform solution, they create their own proprietary crap. This must die. Vote with your money.