14 ms·
My first video accelerator was the Nvidia NV-1 because a friend of mine was on the design team and he assured me that NURBs were going to be the dominant render
by ChuckMcM 4y ago
My first video accelerator was the Nvidia NV-1 because a friend of mine was on the design team and he assured me that NURBs were going to be the dominant rendering model since you could do a sphere with just 6 of them, whereas triangles needed like 50 and it still looked like crap. But Nvidia was so tight fisted with development details and all their "secret sauce" none of my programs ever worked on it.
Then I bought a 3DFx Voodoo card and started using Glide and it was night and day. I had something up the first day and every day thereafter it seemed to get more and more capable. That was a lot of fun.
In my opinion, Direct X was what killed it most. OpenGL was well supported on the Voodoo cards and Microsoft was determined to kill anyone using OpenGL (which they didn't control) to program games if they could. After about 5 years (Direct X 7 or 8) it had reached feature parity but long before that the "co marketing" dollars Microsoft used to enforce their monopoly had done most of the work.
Sigh.
- datpiff 4y ago> he assured me that NURBs were going to be the dominant rendering mode How does this relate to the NV-1? I thought it used quads instead of triangles. Did it do accelerated NURBs as well?
- rasz 4y agoreminds me of PowerVR main selling point being tiled rendering, but they tried pushing some proprietary "infinite planes" BS https://vintage3d.org/pcx1.php https://vintage3d.org/pcx1.php "Thanks to volumes defined by infinite planes, shadows and lights can be cast from any object over any surface."
- datpiff 4y agoIf it was marketing they didn't seem to do a great job... Very little online except for mentions of "NURBS", and this thread. It's not intuitively obvious to me how a rasterizer accelerator would render NURBS surfaces at all (edit: without just approximating the surface with triangles/quads in software, which any competing card could also do)
- rzzzt 4y agoI was also wondering about this. I only remember two vaguely related mentions, both are from a bit later time and one of them turned out not to be NURBS but Bézier patches :) - Curved surfaces in Quake 3: https://www.gamedeveloper.com/programming/implementing-curved-surface-geometry https://www.gamedeveloper.com/programming/implementing-curve... - Rhino 3D support: https://www.rhino3d.com/features/nurbs/ https://www.rhino3d.com/features/nurbs/
- Razengan 4y ago> he assured me that NURBs were going to be the dominant rendering model Wow, this sounds like those little cases where a few different decisions could have easily led us down into an alternate parallel world :) Can someone expand on why NURBs didn't/don't win out against polygons? Could this be like AI/ML/VR/Functional Programming, where the idea had been around for decades but could only be practically implemented now after we had sufficient hardware and advances in other fields?
- rektide 4y agoBecause it's exactly like the parent said: Nvidia has always Nvidia & always has been, a tightfisted tightwad that makes everything they do ultra-proprietary. Nvidia never creates standards or participates. Sometimes, like with CUDA, they just have an early enough lead that they entrench. Vile player. They're worse than IBM. Soulless & domineering to the max, to every extent possible. What a sad story.
- jemmyw 4y agoI think any company who feels they are in the lead with something competitive would do the same. The ones who open their standards were behind to begin with and that's their way of combating the proprietary competition.
- rektide 4y agoBelief in your own technology, even if it is good, as it turns out, is often insufficient to really win. At some point, in computing, you need some ecosystem buy in, and you almost certainly will not be able to go it alone. Nvidia seems utterly disinterested in learning these lessons, decades in now: they just gets more and more competitive, less and less participatory. It wild. On the one hand they do a great job maintaining products like the Nvidia Shield TV. On the other hand, if you try anything other than Linux4Tegra (l4t) on most of their products (the Android devices wont work at all for anything but Android btw) it probably wont work at all or will be miserable. Nvidia has one of the weirdest moats, of being open source like & providing ok-ish open source mini-worlds, but you have to stay within 100m of the keep or it all falls apart. And yea, a lot of people simply dont notice. Nvidia has attracted a large camp-followers group, semi-tech folk, that they enable, but who dont really grasp the weird limited context they are reserved on.
- usefulcat 4y ago> Microsoft was determined to kill anyone using OpenGL ... After about 5 years (Direct X 7 or 8) it had reached feature parity but long before that the "co marketing" dollars Microsoft used to enforce their monopoly had done most of the work. I was acutely aware of the various 3D API issues during this time and this rings very true.
- wazoox 4y agoYup, remember when they "teamed up" with SGI to create "Farenheit"? Embrace, extend, extinguish...
- pjmlp 4y agoAs if SGI didn't had their share in Farenheit's failure. https://en.wikipedia.org/wiki/Fahrenheit_(graphics_API) https://en.wikipedia.org/wiki/Fahrenheit_(graphics_API)
- wazoox 4y agoHoly cow I found a nest of Microsoft fans. From your link: > By 1999 it was clear that Microsoft had no intention of delivering Low Level; although officially working on it, almost no resources were dedicated to actually producing code. No kidding... Also the CEO of SGI in the late 90s was an ex-Microsoft and bet heavily on weird technical choices (remember the SGI 320 / 540? I do) that played no small role in sinking the boat. Extremely similar to the infamous Nokia suicide in the 2010s under another Microsoft alumni. I think the similarity isn't due to chance.
- justsomehnguy 4y ago>infamous Nokia suicide Nokia would had killed itself either way, with Elop it still tried to flop. Every Nokia fanboy cries about EEE, but blissfully forgets what a turd was 5800 Xpress Music, which came half a year later than iPhone 3G.
- 4y ago
- pjmlp 4y agoLike everything else, Khronos did not need help from Microsoft to mess up OpenGL, with its spaghetti soup and lack of tooling, that makes every graphics programming newbie start by hunting and building from scratch, the infrastructure to make a rendering engine. Vulkan is just as bad into this regard, with complexity turned to eleven. No wonder people call it a GPU hardware abstraction API, not a graphics API. And on the Web they couldn't have better idea than throw away all the existing GLSL, to replace it with a Rust inspired shading language.
- filmor 4y agoKhronos is only responsible for OpenGL since 2006 (essentially 3.0), DirectX 8 came out in 2000. In the relevant timeframe for the OP, the ARB was responsible, which has nothing to do with Vulkan.
- pjmlp 4y agoAround the Long Peaks debacle ARB became Khronos, it was basically a renaming, most of the people stayed the same. It has everything to do with Vulkan, givent that the same organisation is handling it, and had it not been for AMD's Mantle, they would probably be discussing what OpenGL vNext should look like.
- hnlmorg 4y ago> No wonder people call it a GPU hardware abstraction API, not a graphics API. The entire point of Vulkan is that it’s a hardware abstraction. It was invented to offer an API around low level hardware operations rather than the typical approach of graphics libraries which come from the opposite direction.
- pjmlp 4y agoAnd with it turned everyone into a device driver developer, no wonder it isn't taking off as much as desired, outside Android and GNU/Linux.
- 4y ago
- rabf 4y agoPart of the success of directx over opengl was that very few graphics card companies seemed capable of producing a fully functional opengl driver, for the longest time Nvidia was the only option. I recall ATI and Matrox both failing in this regard despite repeated promises.
- tanepiper 4y agoBack in 1999 when the Quake source code came out, I started working on "Quake 2000" which was an improvement on the rendering pipeline of the code. I ended up getting free cards ship to me - one was a GeForce256, one was the Matrox G400 DualHead and I think the other was the ATI Rage 128 Pro. The GeForce blew the other cards performance out the water. The Matrox was particularly bad and the dual screen didn't add much and I remember maybe 2 games that supported it.
- avereveard 4y agoFully functional opengl was not exactly the issue, or not the only one Opengl was stagnating at the time vendors started a feature wars. On opengl you can have vendor specific extensions, because it was meant for tightly integrated hardware and software. Vendors started leaning heavily on extensions to one up each other. The cronus group took ages to get up and standardize modern features By that time gl_ext checks became nightmarishly complicated and cross compatibility was further damaged by vendors lying about their actual gl_ext support, where drivers started claiming support for things the hardware could do, but using the ext causes the scene to not look right or outright crash Developers looked at that and no wonder they didn't want to take part in any of it This all beautifully exploded a few year later when compiz started taking a foothold which required this or that gl_ext and finally caused enough rage to get cronus working at bringing back under control the mess By that time ms were already at directx 9, you could use xlna to target different architectures, and it brought networking and io libraries with it making it a very convenient development environment *this is all a recollection from the late nineties early 2k and it's by now a bit blurred, it's hard to fill in the details on the specific exts Nvidia was the one producing the most but it's not like the blame is on them, Maxtor and ATI wonky support to play catch up was overall more damaging. Ms didn't need to really do much to win hearts with dx.
- VBprogrammer 4y agoI remember selling a a bunch of them at a computer trade show the computer shop I worked at in my teens. In probably best marketing idea I've had to date, I installed tomb raider on two basically identical computers, except one had a 3dfx card. As soon as we started running that the cards basically sold themselves.
- agumonkey 4y agoWasn't MS on the openGL board at one point ? they even bought softimage for a while. They seemed to be interested in the whole 3d space. ps: the nv1 "mis-step" was really interesting. They somehow quickly realigned with the nv3, which was quite a success IIRC.
- flohofwoe 4y agoMicrosoft pushing D3D was a good thing, OpenGL drivers were an even bigger mess back then than today, and drivers for popular 3D accelerators only implemented the 'happy path' needed for running GLQuake but were either very slow or sloppily implemented for the rest of the API. D3D was a terribly designed API in the beginning, but it caught up fast and starting at around DX7 was the objectively better API, and Microsoft forced GPU vendors to actually provide conforming and performant drivers.
- TazeTSchnitzel 4y agoEven today, DirectX has stricter quality/precision/behaviour requirements for hardware. On the other hand Vulkan is a lot better specified in other areas and thus better documented. So even if a vendor doesn't officially support one or the other, they will care about both…
- nspattak 4y agoif this is an argument about MS forcing DX and killing OGL, I remind you that Vulkan had/has Apple's support.
- TazeTSchnitzel 4y agoI'm not arguing any such thing, just pointing to the strengths of the two standards.
- pjmlp 4y agoKind of, not only Vulkan keeps trailing behind DirectX, where vendors collaborate with Microsoft on DirectX, and eventually they might come to Vulkan. There is also the issues of development experience in provided SDKs versus what others provide, and apparently now Khronos rather adopt HLSL than trying to improve GLSL.
- TazeTSchnitzel 4y agoVulkan trails on some things, leads on others. DirectX doesn't exist on mobile for instance, so innovations with particular relevance to mobile GPUs tend to come to Vulkan first. Also, its extensions make it an interesting laboratory for various vendors' experiments.
- Aardwolf 4y agoAround 1999 we had a PC with both a Riva TNT and a Voodoo 2. The main games I played were Half Life and Unreal 1 (in addition to various games that came bundled with hardware like Monster truck madness and Urban Assault). I found the Riva TNT to work much better than the Voodoo 2 for the main games I played (e.g. when choosing in the game options, the D3D or OpenGL options had less glitches, better looking translucency in Unreal, etc..., than the options that used the voodoo card), and in addition the Riva TNT supported 32-bit color while the Voodoo 2 only had 16-bit color and had this awkward passthrough. Maybe being 1999 it was just a little bit too late to still fully appreciate 3dfx and modern day D3D and OpenGL took over around that time, so I just missed the proper Voodoo era by a hair. Note that by OpenGL here I meant OpenGL using the Riva TNT (I assume the Voodoo card drivers must have been called Glide or 3DFx in the settings). I've always seen D3D and OpenGL existing side by side, performing very similarly in most games I played, and supporting the same cards, with GeForce cards etc that came later. I mainly game using Wine/Proton on Linux now by the way.
- flohofwoe 4y agoYep, as soon as the TNT came out it was pretty much over for 3dfx. Quake II on a Riva TNT running in 1024x768 was a sight to behold.
- OOPMan 4y agoI had one of those weird TNT2 M64 cards that you could fool into thinking it was a proper TNT2. Unfortunately for mine the foolery didn't work perfectly and I recall the card was a bit unstable when running that way, or maybe it didn't achieve the optimal performance possible for one of those fiddled M64s. Not really a huge surprise, IIRC it was a super cheap card...
- ChuckNorris89 4y ago3D gaming at 1024x768 in 1998 would be like 8K gaming today.
- jonhohle 4y ago
- ChuckNorris89 4y ago>In my opinion, Direct X was what killed it most. False, 3dfx killed themselves. Their graphics chips and their architecture became quickly outdated compared to the competition. Their latest efforts towards the end of their life resorted to simply putting more of the same outdated and inefficient chip designs on the same board leading to monstrosities GPUs with 4 chips that came with their own power supply. Nvidia and ATI were already eating their lunch. Also, their decision to build and sell graphics cars themselves directly to consumers, instead of focusing on the chips and letting board partners build and sell the cards was another reason for their fall. Their Glide API alone would not be enough to save them from so many terrible business and engineering decisions. >OpenGL was well supported on the Voodoo cards and Microsoft was determined to kill anyone using OpenGL Again, false. OpenGL kinda kiled itself on the Windows gaming scene. Microsoft didn't do anything to kill OpenGL on Windows. Windows 95 supported OpenGL just fine, as a first class citizen just like Direct3D, but Direct3D was easier to use and had more features for windows game dev, meaning quicker time to market and less dev effort, while OpenGL drivers from the big GPU makers still had big quality issues back then and OpenGL progress was stagnating. DirectX won because it was objectively better than OpenGL for Windows game dev, not because Microsoft somehow gimped OpenGL on Windows, which they didn't.
- api 4y ago> a friend of mine was on the design team and he assured me that NURBs were going to be the dominant rendering model since you could do a sphere with just 6 of them, whereas triangles needed like 50 and it still looked like crap. But Nvidia was so tight fisted with development details and all their "secret sauce" none of my programs ever worked on it. (1) Someone designs something clearly superior to other technology on the market. (2) They reason that they have a market advantage because it's superior and they're worried that people will just copy it, so they hold it close to the chest. (3) Inferior technologies are free or cheap and easy to copy so they win out. (4) We get crap. ... or the alternate scenario: (1) Someone designs something clearly superior to other technology on the market. (2) They understand that only things that are more open and unencumbered win out, so they release it liberally. (3) Large corporations take their work and outcompete them with superior marketing. (4) We get superior technology, the original inventors get screwed. So either free wins and we lose or free wins and the developers lose. Is there a scenario where the original inventors get a good deal and we get good technology in the end?
- svachalek 4y agoThis is what patents are for, but in the real world that gets complicated too.
- codeflo 4y agoGood point. In this context, it wasn't even superior though, at least not in the long run. Memory got bigger so that storing more triangles wasn't a problem anymore, it's more about computational resources. There, NURBS are only clearly better for very smooth surfaces (like the mentioned sphere), which are rare in natural shapes. For everything else, you get more details per FLOP by just using more triangles, which is where the industry went.
- jasode 4y ago>In my opinion, Direct X was what killed it most. OpenGL was well supported on the Voodoo cards and Microsoft was determined to kill anyone using OpenGL I don't know the details myself but as a FYI... this famous answer covering the OpenGL vs DirectX history from StackExchange disagrees with your opinion and says OpenGL didn't keep up (ARB committee). It also mentions that the OpenGL implementation in Voodoo cards was incomplete and only enough to run Quake: https://softwareengineering.stackexchange.com/questions/60544/why-do-game-developers-prefer-windows https://softwareengineering.stackexchange.com/questions/6054... The author of that answer is active on HN so maybe he'll chime in.
- deleted 4y ago[deleted]
- spookthesunset 4y ago> It also mentions that the OpenGL implementation in Voodoo cards was incomplete and only enough to run Quake That brings back some memories... I remember having to pick the rendering pipeline on some games, like Quake. I also remember the days of having to route the video cable from my graphics card to my 3dfx card then to my monitor.
- mepian 4y ago>I remember having to pick the rendering pipeline on some games, like Quake. You can still do that in some recent games, e.g. Doom 2016 and Half-Life: Alyx.
- jamesfinlayson 4y agoYeah it's swung around again - it feels like 25 years ago you could choose between DirectX and OpenGL (and software too), then for AAA games at least there was DirectX only for the longest time, but now DirectX or Vulkan (or OpenGL, or DirectX 12 instead of DirectX 9/10/11).
- Keyframe 4y agoImportant puzzle piece in all that is also Microsoft's Fahrenheit diversion.
- oppositelock 4y agoI was directly involved in graphics during this time, and was also a tech lead at an Activision studio during these times of Direct3D vs OpenGL battle, and it's not that simple. OpenGL was the nicer API to use, on all platforms, because it hid all the nasty business of graphics buffer and context management, but in those days, it was also targeted much more at CAD/CAM and other professional use. The games industry wasn't really a factor in road maps and features. Since OpenGL did so much in the driver for you, you were dependent on driver support for all kinds of use cases. Different hardware had different capabilities and GL's extension system was used to discover what was available, but it wasn't uncommon to have to write radically different code paths for some rendering features based on the cababilities present. These capabilities could change across driver versions, so your game could break when the user updated their drivers. The main issue here was quite sloppy support from driver vendors. DirectX was disgusting to work with. All the buffer management that OpenGL hid was now your responsibility, as was resource management for textures and vertex arrays. In DirectX, if some other 3D app was running at the same time, your textures and vertex buffers would be lost every frame, and you're have to reconstruct everything. OpenGL did that automatically behind the scenes. this is just one example. What DirectX did have, though was some form of certification, eg, "Direct X9", which guaranteed some level of features, so if you wrote your code to a DX spec, it was likely to work on lots of computers, because Microsoft did some thorough verification of drivers, and pushed manufacturers to do better. Windows was the most popular home OS, and MacOS was insignificant. OpenGL ruled on IRIX, SunOS/Solaris, HP/UX, etc, basically along the home/industry split, and that's where engineering effort went. So, we game developers targeted the best supported API on Windows, and that was DX, despite having to hold your nose to use it. It didn't hurt that Microsoft provided great compilers and debuggers, and when XBox came out, which used the same toolchain, that finally cinched DX's complete victory, because you could debug console apps in the same way you did desktop apps, making the dev cycle so much easier. The PS1/PS2 and GameCube were really annoying to work with from an API standpoint. Microsoft did kill OpenGL, but it was mainly because they provided a better alternative. They also did sabotage OpenGL directly, by limiting the DLL's shipped with windows to OpenGL 1.2, so you ended up having to work around this by poking into you driver vendor's OpenGL DLL and looking up symbols by name before you could use them. Anticompetitive as they were technically, though, they did provide better tools.
- samstave 4y agoDon't forget the co-marketing from Intel's DRG (dev relations group) (the group I worked in) which started in ~1995 or so for game optimization dev on SIMD and, later AGP, openGL and unreal engine (our lab had some of the very first iterations of this - and NURBs were a major topic in the lab especially for OpenGL render tests etc. (if you recall the NURBs Dolphin benchmark/demo) Intel would offer upto(?) (cant recall if it base, set, or upto) $1 million in marketing funds if me and my buddy did our objective and subjective gaming tests between the two looking for a subjective feel that the games ran better on Intel. The objective tests were to determine if the games were actually using the SIMD instructions...
- throwaway09223 4y ago"OpenGL was well supported on the Voodoo cards " Definitely not the case. Voodoo cards were notorious for not supporting OpenGL properly. They supported GLide instead. 3dfx also provided a "minigl" which implemented the bare minimum functions designed around particular games (like Quake) -- because they did not provide a proper OpenGL driver. https://en.wikipedia.org/wiki/MiniGL https://en.wikipedia.org/wiki/MiniGL