[updates] 7 for 3.1 alpha

Dan Ingalls Dan.Ingalls at disney.com
Thu May 17 03:52:34 UTC 2001


Folks -

There are seven more updates out on the servers for 3.1 now.  Note that (as 4023B3DBumper tells you ( but even your struly didn't read it ;-)) 4024, while a fantastic step forward, will actually render (so to speak) Wonderland and other 3D unusable until you get a new VM, and we haven't issued a full set of new VMs yet.  if you care about this, watch for new VMs for your favorite platform before upgrading past the bumper (or, of course, make your own (and tell us if you do this for *nix ;-)).

Enjoy
	- Dan
----------------------------
4020RepaintFix-ar -- Andreas Raab -- 14 May 2001
Fixes a problem when repainting an object partially out of the world's boundaries (in which case the painting was truncated there)."

4021flapsFromBrowser-sw -- Scott Wallace -- 15 May 2001
Cleans up the situation where a 3.1a image is launched from a Browser via the ProjectLauncher."

4022CMBackStop-ar -- Andreas Raab -- 15 May 2001
A backstop for BitBlt if it doesn't handle full color maps correctly."

4023B3DBumper -- Andreas Raab -- 16 May 2001
Give people a chance to bail out before the next update."

4024B3DNoCompromise -- Andreas Raab -- 16 May 2001
This change set includes a complete reimplementation of 3D hardware acceleration. The new approach goes exclusively for speed and much less for compatibility. It also provides two different approaches for Morphic integration depending upon whether the underlying implementation supports direct frame buffer access or not. Both variants are currently implemented; on Windows we're using direct frame buffer access, on Macs we're using texture compositing. Of course, texture compositing is a lot slower than direct access but it's still faster than having to deal with glReadPixels...
Acceleration is available from both, Wonderlands (in the camera's red halo menu) as well as the scene explorer morph (where it is directly integrated in the user interface).
Because of the capabilities of modern 3D hardware and APIs various improvements have been made to the general interface of B3DRenderEngine, including a 'polygon mode' (for rendering point/wireframe representation of meshes), points and lines in general, as well as fog (I just needed this so it's part of the interface; also available from the wonderland camera's viewer). More capabilities can and will be added but care must be taken that these are available across varying APIs.
Currently, the new scheme supports OpenGL for Macs and Direct3D (DirectX 7) for Windows. DirectX7 was taken because it provides serious improvements in terms of speed and structure (DX7 is the first DX version treating renderer state as renderer state and is therefore much more closely related to OpenGL). An OpenGL implementation of the accelerator for Windows is also available (I'm planning to integrate both D3D and OpenGL at some point so people can use what's best on their machines) but for now only D3D is tested (because my OpenGL drivers crash on me).
Porting to *nix should be relatively straightforward given the existance of GLX. The platform dependent code for the OpenGL bindings are a few hundred lines of code mostly concerned with how to interface to the host platform. It should also be possible to implement direct frame buffer support through the use of p-buffers but I have no hardware that does support p-buffers so that remains to be seen.
Anyways. Seeing the scene explorer in 1024x768 with 150fps on a Laptop is fun. Running the Nudibranch at roughly 20fps even more :-)

4025UpdateLessOften -- Andreas Raab -- 16 May 2001
Make thumbnail updates for 3D objects be less often."

4026B3DCSupportCode -- Andreas Raab -- 16 May 2001
The C support code for 3D acceleration; includes Mac and Win ports."







More information about the Squeak-dev mailing list