The 30K Gouraud triangles per second

Started by ardi, June 13, 2014, 09:57:36 am

Previous topic - Next topic

ardi

I didn't see any demo showing Gouraud shaded triangles... so... was the "30000 Gouraud shaded triangles/sec" a real thing, or was it just marketing hype about the performance you can expect from the i860?

If it was for real... what was the API you used for sending the triangles data to the NeXTdimension board? You couldn't code for the i860 directly, so there must be an API for those triangles somewhere (if it was a real thing).

gtnicol

Display postscript. The i860 ran a postscript interpreter.

ardi

Quote from: "gtnicol"Display postscript. The i860 ran a postscript interpreter.

Do you mean the NeXTdimension marketing brochures were talking about PostScript triangles when they said "30K Gouraud-shaded triangles/sec" ? I find this a bit strange, because back in those days, when anybody said "Gouraud triangles", it was implied 3D triangles (and most of the times Z-buffered). Note that the i860 was capable of being used as a 3D accelerator (provided it had the proper firmware/software, of course).

mikeboss

according to wikipedia: "Display Postscript never actually ran on the board so the Intel i860 never did much more than move blocks of color data around".

http://en.wikipedia.org/wiki/NeXTdimension

I don't know if this is true or not...

information available here also might be of interest:
http://support.apple.com/kb/TA45926?viewlocale=en_US
October 12, 1988 Computing Advances To The NeXT Level

gtnicol

I think those articles are accurate. I thought I had seen an ND kernel with postscript support, but I'm probably wrong.

ardi

So... nobody ever saw a demo with Gouraud shaded triangles running on the NeXTdimension? Was it just a marketing myth?

mikeboss

another extract from a wikipedia article: "However, the PostScript part of the project was never finished so it ended up just moving color pixels around".

http://en.wikipedia.org/wiki/Intel_i860

according to a post at comp.sys.next from 1990 the "30000 Gouraud shaded triangles/sec" could simply be what the i860 was capable of... the i860 had a built in graphics accelerator that could do Gouraud shading, texturing, and z-buffering.

http://macgui.com/usenet/?group=96&id=6819#msg

here, about a completely different animal (with an i860 on it) and the "30.000 gouraud-shaded polygones/s" are also mentioned:
http://www.geekdot.com/the-spea-cards.html
October 12, 1988 Computing Advances To The NeXT Level

cubist

3DKit/RenderMan were the interfaces for the 3D world.  Rumor is that free (as in beer) non-commercial licenses will be available from Pixar.

M Paquette

Display PostScript and the NeXTdimension board

   The Display PostScript system can be (very broadly) broken into two pieces, the PostScript interpreter and the device.  The interpreter processes the language, and passes marking, imaging, and (in the NeXT version) compositing directions to the device layer.

   The device layer takes the high level marking, imaging, and compositing operations and (eventually) converts these to bitmap level operations.  The Display PostScript system spends the majority of it's time down here.

   In the case of the NeXTdimension board, the device layer is implemented on the NeXTdimension board.  Marking, imaging, and compositing operations are asynchronously transmitted to the NeXTdimension for processing while additional PostScript is interpreted on the 68K processor.  A good degree of parallelism is achieved in normal operation.  The NXPing() AppKit call is interpreted by the Display PostScript system as a request to synchronize the NeXTdimension, PostScript interpreter, and app, and will not return until PostScript rendering is complete on the NeXTdimension.

Quick Renderman and the NeXTdimension board

   Renderman uses a similar architecture.  The 3DKit and RI C binding reside on the m68k (otherwise you couldn't link with them).  Depending on the setup of the Renderman context, a RIB stream can be spooled to Photorealistic Renderman running on the host CPU (the m68K for black hardware), or to a Quick Renderman implementation loaded on demand into the Window Server.  The Quick Renderman implementation in the Window Server may then, if the target window is on a NeXTdimension, forward the rendering operations to a Quick Renderman context running on the NeXTdimension board.

   The NeXTdimension board performs all rendering operations for windows displayed by the board.  Everything from high level geometry tesselation on down to marking the pixels is done on the NeXTdimension.

Rob Blessin Black Hole

Hello Mike: Good to see you back ! Best regards Rob Blessin
Rob Blessin President computerpowwow ebay  sales@blackholeinc.com http://www.blackholeinc.com
303-741-9998 Serving the NeXT Community  since 2/9/93

M Paquette

Quote from: "mikeboss"another extract from a wikipedia article: "However, the PostScript part of the project was never finished so it ended up just moving color pixels around".

http://en.wikipedia.org/wiki/Intel_i860


Ah, yeah.  About THIS:
QuoteIt was used, for instance, in the NeXTdimension, where it ran a cut-down version of the Mach kernel running a complete PostScript stack. However, the PostScript part of the project was never finished so it ended up just moving color pixels around. In this role the i860 design worked considerably better, as the core program could be loaded into the cache and made entirely "predictable", allowing the compilers to get the ordering right.


As usual, Wikipedia tossed up more unsubstantiated rubbish.  I'm not allowed to edit this in Wikipedia, as I am one of the people who wrote the software involved.  Conflict of interest and all that.  Instead we get commentary on my code from someone I've never heard of.  

Actual real facts:  The NeXTdimension ran a custom kernel which was designed to do soft realtime management of multiple threads within a single address space, provide demand paged virtual memory, and provide a source-compatible Mach API subset and full Mach messaging interface, along with a minimal UNIX system call API, just enough to implement the RenderMan back end and the PostScript device layer.  The kernel was called "Graphics aCcelerator Kernel, or "GaCK".  Yes, this was a jape at the funny capitalization of the company name.  It was not Mach, or BSD, or Minix, or Linux.  I got a lot of good advice on how to pull this off from Avi.

The '040 kernel driver mostly bridged Mach messages between the i860 kernel and the '040 realm.  This was handy.

The PostScript back end implemented the device layer of DPS, which included the standard PostScript 'scantrap' rasterizing, along with NeXT's implementation of the window backing, and alpha channel based compositing.

No, the core program would not fit in cache.  Interesting profile traces would fit, though, including all the compositing loops.   Dual instruction mode i860 code was crafted to tightly pipeline compositing operations, as well as the more critical parts of the RenderMan code.  (Yes, we has a full profiling suite.  And gdb source-level debugging from the '040 side, of the running i860, written atop that Mach-compatible messaging API.)

The amount of C source code and assembler compiled and run on the i860 came to 340,683 lines, not including header files.  The implementation contained everything that we had wanted as far as PostScript and RenderMan support were concerned.

M Paquette

Quote from: "Rob Blessin Black Hole"Hello Mike: Good to see you back ! Best regards Rob Blessin


Hi, Rob!  I'm Baaaaaaack!   And nobody's left alive to chastise me about those pesky NDAs...

mikeboss

wow! very nice to see someone who was involved in the actual development of NeXTSTEP joining the community. I bet you have a ton of stories (and facts) to tell  :P

there were numerous attempts to get the source code of NeXTSTEP from Apple. but as far as I know, there never was a response from Apple. you wouldn't know who to contact about this matter by any chance?

greetings from switzerland,
michael
October 12, 1988 Computing Advances To The NeXT Level

M Paquette

Quote from: "mikeboss"wow! very nice to see someone who was involved in the actual development of NeXTSTEP joining the community. I bet you have a ton of stories (and facts) to tell  :P

there were numerous attempts to get the source code of NeXTSTEP from Apple. but as far as I know, there never was a response from Apple. you wouldn't know who to contact about this matter by any chance?

greetings from switzerland,
michael


Some parts are not NeXT/Apple's to give out.  Display PostScript, for example, is largely the same PostScript that Adobe still puts in printers and some of their software, with some additional extensions by NeXT for compositing, window, and event management.  The kernel and UNIX level 1 code are very similar to the initial Darwin source release.  VERY similar...   The old gcc builds are available, or course.  The AppKit code is still in active development, so I don't think they will hand that out.

Ernie Prabhakar is the product manager for related software these days.

This is pretty off-topic for this thread, though.

Rob Blessin Black Hole

Hello Mike:

Ernie actually gave me the go ahead to support NeXT hardware indefinitely with software awhile back . We tried a formal letter though my contacts at Apple legal to see if the higher ups would release the source and unfortunately no response though we thought we had a good shot at it, thank you for helping clarify why as I didn't realise Adobe still had the display postscript !

I have many questions for you that would help us maintain the aging fleet of NeXT hardware... I currently have about 500 of them , yes 500 and it is cool as we have a lot of active and enthusiastic new and old members! We are replacing a lot of leaky capacitors as they are starting to leak after 20 years and often if that doesn't resolve the problem for example on dimension boards , we are left with little documentation on how to proceed with further troubleshooting .  
I have a section here http://www.blackholeinc.com/docs/ that I'm transitioning to the archives as well ; enjoying the system admin privileges as well here!

Lane Molpus has also recently surfaced which is awesome as he designed the jpeg daughter card for the dimension and I put him in touch with Randy Rencsok who has all 3 , I think the may be trying to revive them! (Sound fun?)

We also have gaps in original schematics for the hardware
http://www.nextcomputers.org/NeXTfiles/Docs/Hardware/Schematics/
I don't know if you would be able to help or know where we may obtain access to schematics for the 68040 25Mhz Cube motherboards and sound boxes (it would be awesome!).
 
I think you will find the work done to reverse engineer and repair the optical
drives on the forum cool as well as work on the emulator for original NeXT hardware.  I know those guys would really enjoy and appreciate your advice /assistance.

This is off topic as well but we are trying to figure out  is the  earlier 68040 25Mhz roms can be modified to include ADB support , we are running into a bottleneck as non adb sound boards are becoming harder to find but I have a cache of hundreds of new NeXT ADB sound boards . The thought is either / or modify the adb boards to become non adb compatible or upgrade the roms the become adb compatible .... I have plenty of both ADB and non adb keyboards/ mice  but also a limited supply of V74 ADB compatible Turbo motherboards and a boatload of earlier rom motherboards.... any help much appreciated.
We have a custom Y monitor  cable that works with flatpanels and the soundboard from either the 4000A monitor or non adb / adb soundboxes as a the ooriginal monitors are becoming harder to find.


Also if you need anything I'm not sure if you have any old NeXT hardware let me know and I'll take goods care of you! Great to have you back!

Apologies for gacking it all out there but we are stoked to see you back!


Best regards Rob Blessin




Quote from: "M Paquette"
Quote from: "mikeboss"wow! very nice to see someone who was involved in the actual development of NeXTSTEP joining the community. I bet you have a ton of stories (and facts) to tell  :P

there were numerous attempts to get the source code of NeXTSTEP from Apple. but as far as I know, there never was a response from Apple. you wouldn't know who to contact about this matter by any chance?

greetings from switzerland,
michael


Some parts are not NeXT/Apple's to give out.  Display PostScript, for example, is largely the same PostScript that Adobe still puts in printers and some of their software, with some additional extensions by NeXT for compositing, window, and event management.  The kernel and UNIX level 1 code are very similar to the initial Darwin source release.  VERY similar...   The old gcc builds are available, or course.  The AppKit code is still in active development, so I don't think they will hand that out.

Ernie Prabhakar is the product manager for related software these days.

This is pretty off-topic for this thread, though.
8)
Rob Blessin President computerpowwow ebay  sales@blackholeinc.com http://www.blackholeinc.com
303-741-9998 Serving the NeXT Community  since 2/9/93