1. Picasso v. 1.0 Alpha Release (3D Engine)
- Posted by Roderick Jackson <rjackson at CSIWEB.COM> Oct 28, 1999
- 474 views
Hi all! It's been a while I know, but I finally got it finished. As soon as Rob posts it to the Euphoria site, or as soon as you download it from http://www.geocities.com/~rodjackson/picasso.zip you'll be able to evaluate and use the alpha release of version 1.0 of Picasso! What is Picasso? Short answer: a simple, yet complete 3D engine/library for Euphoria. The long answer, of course, is a bit more complex. I'll start off by nipping any misconceptions in the bud. No one will be building a Quake knockoff with this library. In fact, this initial version might very well disappoint some of you. Picasso currently lacks a number of features, including: - shading - light sources - perspective-correct texture mapping - alpha blending, i.e. color transparency - any other kind of transparency except complete invisibility - tremendous speed (a Pentium II is *strongly* recommended) - Windows or Linux support--it's DOS-only Oh, and it doesn't work in higher resolution modes. It's a mode-19-only engine, for now: 320 x 200 pixels, with a 256-color palette from Euphoria's potential 262144 colors. Okay, for those of you still interested, here's what Picasso *does* have: - ambient lighting (which can be turned off for manual shading) - z-buffering (which can also be turned off) - non-perspective-correct texture mapping - background images - greater speed than my original Quartz-based 3D classes - a simple and (hopefully) easy-to-use design - currently-in-progress documentation - complete, free, Euphoria v.2.0-compatible source code - a few extra touches, like - collision detection between any two polygonal objects - automatic conversion of bitmap files to textures using the current palette - loading of multiple bitmap files, w/ automatic altering of the current palette to match the bitmaps - a function to scale a 16-color palette to 16 shades (for a full 256 colors) - virtual screens (allows paging) - image manipulation (aids in scrolling large backgrounds) The included .zip file contains the main library file (PICASSO.E), the secondary include files (3DBASICS.E, RENDER.E, BACKGNDS.E, LIGHTING.E, POLYGONS.E, POLYOBJS.E, and TEXTURES.E), rough documentation (PICASSO.TXT), and an introduction file (README.TXT.) There's also a main demo program (MAINDEMO.EX), which again I suggest only those using Pentium IIs actually run. Some of you bolder folks with somewhat slower machines might want to try QUIKDEMO.EX. Three standard Euphoria include files, MACHINE.E, GRAPHICS.E, and IMAGE.E, are required to use the library. Those with fast computers, or who wish to use the library to write programs for fast computers, might find the speed adequate--as long as the polygon count is kept *very* low. Turning on the z-buffering and/or using a lot of textures could slow things down enough that you'd only want to use it for still scenes. Version 1.0 is being released as alpha, so I can get feedback on a few things before finalizing the release (and so I can take more time to work on documentation.) I'd like feedback on whether to keep in certain routines that I don't think will have much use (such as move_vertex), and on if I should make any changes in the routine parameters. Also, whether or not the Eu community prefers one huge library file or several smaller ones. I'm going to try to keep the main structure and routines from this version unchanged throughout the life of Picasso, so I want to make sure it starts off right. Obviously, I don't intend to just leave things at version 1.0. I've left a few "hooks" in to simplify the future addition of backface culling (which should almost double the speed) and source lighting with flat shading (which could easily halve it.) And of course, I'll make some optimizations. There are still a few that I can implement without sacrificing readability. However, part of the reason Picasso was written was to help others learn about 3D programming, so it'll be awhile before I release a version that is all speed and zero readability, or that uses any machine code. (If someone else wishes to do so, however, go right ahead.) I've a few people to thank for their help, even though they may not have realized it. Mark, for his intial 3D screenshot and code which originally motivated me; Jiri, for his immensely helpful code (the concept behind his spread() function was just what I was looking for.) There's also Jeffery Fielding, for writing his fuzzy logic routines; I haven't actually used the library, but rather borrowed a concept behind one of his functions. Robert, of course, for making all of this possible by creating and releasing Euphoria in the first place. Tapu for his motivation and encouragement. And I'd like to thank God for keeping me sane long enough to finish this! Before I forget, there is at least one known bug in the code. You'll probably never notice it since it's been "fixed", and so technically you might not even consider it a bug. It's a little anamoly which I just slapped a patch on to get the code working; I don't doubt that it'll cause problems later. I'm working on *really* getting it fixed though, so if you do happen to run into it (it'll probably manifest as undrawn portions of partially-offscreen polygons), don't fret, it's already being addressed. Well, that's about it. I hope Picasso finds a place in the Euphoria community, especially as it continues to grow and develop. If anyone has any questions, comments, suggestions, or other feedback (especially bug reports) PLEASE let me know! Happy coding! Rod Jackson rodjackson at bigfoot.com
2. Re: Picasso v. 1.0 Alpha Release (3D Engine)
- Posted by Bernie Ryan <bwryan at PCOM.NET> Oct 28, 1999
- 481 views
- Last edited Oct 29, 1999
Rod Your YAHOO site says that it is not available Bernie
3. Re: Picasso v. 1.0 Alpha Release (3D Engine)
- Posted by Naflign <naflign at MEDIAONE.NET> Oct 29, 1999
- 474 views
Ack, and the link to picasso at the recent user section of re is linked to tron ----- Original Message ----- From: Bernie Ryan <bwryan at PCOM.NET> To: <EUPHORIA at LISTSERV.MUOHIO.EDU> Sent: Thursday, October 28, 1999 8:40 PM Subject: Re: Picasso v. 1.0 Alpha Release (3D Engine) > Rod > Your YAHOO site says that it is not available > Bernie >
4. Re: Picasso v. 1.0 Alpha Release (3D Engine)
- Posted by Robert Craig <rds at ATTCANADA.NET> Oct 29, 1999
- 479 views
Naflign writes: > Ack, and the link to picasso at the recent user > section of re is linked to tron Unfortunate timing. It was only like that for a minute or so until I realized my mistake. It's ok now. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com