This list is closed, nobody may subscribe to it.
| 2004 |
Jan
(7) |
Feb
(117) |
Mar
(37) |
Apr
(46) |
May
(14) |
Jun
(255) |
Jul
(100) |
Aug
(76) |
Sep
(65) |
Oct
(38) |
Nov
(49) |
Dec
(41) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(106) |
Feb
(70) |
Mar
(9) |
Apr
(4) |
May
(42) |
Jun
(29) |
Jul
(106) |
Aug
(38) |
Sep
(11) |
Oct
(31) |
Nov
(14) |
Dec
(14) |
| 2006 |
Jan
(2) |
Feb
(9) |
Mar
(15) |
Apr
(13) |
May
(16) |
Jun
(5) |
Jul
(11) |
Aug
(1) |
Sep
(7) |
Oct
|
Nov
(9) |
Dec
(1) |
| 2007 |
Jan
(13) |
Feb
(107) |
Mar
(43) |
Apr
(43) |
May
(38) |
Jun
(38) |
Jul
(63) |
Aug
|
Sep
(30) |
Oct
(52) |
Nov
(4) |
Dec
(10) |
| 2008 |
Jan
(12) |
Feb
(10) |
Mar
(5) |
Apr
(3) |
May
(15) |
Jun
(2) |
Jul
|
Aug
(10) |
Sep
(20) |
Oct
(6) |
Nov
|
Dec
(6) |
| 2009 |
Jan
(1) |
Feb
(5) |
Mar
(3) |
Apr
(51) |
May
|
Jun
|
Jul
|
Aug
(14) |
Sep
|
Oct
|
Nov
|
Dec
(4) |
| 2010 |
Jan
(9) |
Feb
|
Mar
(8) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
(1) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
| 2011 |
Jan
|
Feb
|
Mar
(9) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(7) |
Dec
(1) |
| 2012 |
Jan
|
Feb
(6) |
Mar
(3) |
Apr
|
May
(6) |
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
|
From: Jose' C. <cru...@ce...> - 2005-01-27 09:22:38
|
Il giorno 27/gen/05, alle 07:54, James W. Walker ha scritto: > I made drafts of the SDKs: > > <ftp://ftp.frameforge3d.com/misc/quesa_1.6d20_sdk_win32.zip> > > <ftp://ftp.frameforge3d.com/misc/quesa_1.6d20_sdk_mac.sit> > > As for the source releases, I suppose we should regenerate the API > reference from the headers. I tried running the DoQuesaDocs.pl > script, and nothing happened. No error message, no docs. Anyone know > how this is supposed to work? > -- may be we should avoud the source release this time..., but make a new release (2.0?) soon after the changes from Roger seems to work I'm ready with the unix releases <http://www.cegroup.it/mobilia/quesa-1.6d20.tar.gz> <http://www.cegroup.it/mobilia/quesaexamples-1.6d20.tar.gz> I've attached the ChangeLog from 1.6d18 to today, so if some volunteer english native speaker can do the release note sfor d20 ------------------------------------------------ 2005-01-27 jwwalker * SDK/Examples/Geom Test/Geom Test.mcp 1.9: Added Windows targets. 2005-01-24 jwwalker * Development/Source/Core/System/E3Memory.c 1.28: Updated E3Memory_DumpRecording for new class layout. 2005-01-24 roger_holmes * Development/Source/Core/Geometry/E3Geometry.c 1.30: * Development/Source/Core/Geometry/E3GeometryBox.c 1.28: * Development/Source/Core/Geometry/E3GeometryCone.c 1.25: * Development/Source/Core/Geometry/E3GeometryCylinder.c 1.25: * Development/Source/Core/Geometry/E3GeometryDisk.c 1.19: * Development/Source/Core/Geometry/E3GeometryEllipse.c 1.19: * Development/Source/Core/Geometry/E3GeometryEllipsoid.c 1.24: * Development/Source/Core/Geometry/E3GeometryGeneralPolygon.c 1.18: * Development/Source/Core/Geometry/E3GeometryLine.c 1.17: * Development/Source/Core/Geometry/E3GeometryMarker.c 1.19: * Development/Source/Core/Geometry/E3GeometryMesh.c 1.35: * Development/Source/Core/Geometry/E3GeometryNURBCurve.c 1.31: * Development/Source/Core/Geometry/E3GeometryNURBPatch.c 1.31: * Development/Source/Core/Geometry/E3GeometryPixmapMarker.c 1.21: * Development/Source/Core/Geometry/E3GeometryPoint.c 1.15: * Development/Source/Core/Geometry/E3GeometryPolyLine.c 1.16: * Development/Source/Core/Geometry/E3GeometryPolygon.c 1.19: * Development/Source/Core/Geometry/E3GeometryPolyhedron.c 1.21: * Development/Source/Core/Geometry/E3GeometryTorus.c 1.22: * Development/Source/Core/Geometry/E3GeometryTriGrid.c 1.21: * Development/Source/Core/Geometry/E3GeometryTriMesh.c 1.34: * Development/Source/Core/Geometry/E3GeometryTriangle.c 1.19: * Development/Source/Core/Glue/QD3DCustomElements.c 1.8: * Development/Source/Core/Glue/QD3DExtension.c 1.11: * Development/Source/Core/Glue/QD3DGeometry.c 1.23: * Development/Source/Core/Glue/QD3DGroup.c 1.13: * Development/Source/Core/Glue/QD3DSet.c 1.21: * Development/Source/Core/Support/E3ClassTree.c 1.33: * Development/Source/Core/Support/E3ClassTree.c 1.34: * Development/Source/Core/Support/E3ClassTree.c 1.35: * Development/Source/Core/Support/E3ClassTree.h 1.17: * Development/Source/Core/Support/E3ClassTree.h 1.18: * Development/Source/Core/Support/E3Compatibility.c 1.9: * Development/Source/Core/Support/E3Utils.c 1.25: * Development/Source/Core/System/E3Camera.c 1.16: * Development/Source/Core/System/E3CustomElements.c 1.18: * Development/Source/Core/System/E3DrawContext.c 1.24: * Development/Source/Core/System/E3Extension.c 1.12: * Development/Source/Core/System/E3Group.c 1.37: * Development/Source/Core/System/E3IO.c 1.19: * Development/Source/Core/System/E3IOData.c 1.23: * Development/Source/Core/System/E3Light.c 1.12: * Development/Source/Core/System/E3Main.c 1.41: * Development/Source/Core/System/E3Main.c 1.42: * Development/Source/Core/System/E3Memory.c 1.27: * Development/Source/Core/System/E3Pick.c 1.25: * Development/Source/Core/System/E3Renderer.c 1.29: * Development/Source/Core/System/E3Set.c 1.56: * Development/Source/Core/System/E3Shader.c 1.15: * Development/Source/Core/System/E3Storage.c 1.26: * Development/Source/Core/System/E3String.c 1.12: * Development/Source/Core/System/E3Style.c 1.16: * Development/Source/Core/System/E3Texture.c 1.18: * Development/Source/Core/System/E3Transform.c 1.15: * Development/Source/Core/System/E3View.c 1.65: * Development/Source/Core/Viewer/E3Viewer.c 1.62: * Development/Source/FileFormats/E3IOFileFormat.c 1.23: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF.c 1.49: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Bin.c 1.34: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Text.c 1.30: * Development/Source/FileFormats/Writers/3DMF/E3FFW_3DMFBin_Geometry.c 1.40: * Development/Source/FileFormats/Writers/3DMF/E3FFW_3DMFBin_Register.c 1.29: * Development/Source/Platform/Be/E3BeDrawContext.c 1.13: * Development/Source/Platform/Be/E3BeStorage.c 1.10: * Development/Source/Platform/Cocoa/E3CocoaDrawContext.m 1.9: * Development/Source/Platform/Mac/E3MacDrawContext.c 1.36: * Development/Source/Platform/Mac/E3MacStorage.c 1.21: * Development/Source/Platform/Unix/E3UnixDrawContext.c 1.20: * Development/Source/Platform/Unix/E3UnixStorage.c 1.8: * Development/Source/Platform/Windows/E3WindowsDrawContext.c 1.19: * Development/Source/Platform/Windows/E3WindowsStorage.c 1.14: Changes to use C++ classes for instance data. 2005-01-23 jwwalker * Development/Source/Platform/Windows/E3WindowsDrawContext.c 1.18: Added a missing brace in e3drawcontext_win32dc_update. * Development/Source/Core/Support/E3HashTable.c 1.14: In E3HashTable_Create, added an assertion that the table size is a power of 2. In e3hash_find_node, made an optimization of the hash function. * Development/Source/Platform/Windows/E3WindowsStorage.c 1.13: Fixed a compile error in E3Win32Storage_Set. * Development/Source/Core/System/E3Set.c 1.55: Changed kSetTableSize from 6 to 8, because I want to use a hash formula that requires the table size to be a power of 2. 2005-01-21 roger_holmes * Development/Source/Core/System/E3DrawContext.c 1.23: * Development/Source/Core/System/E3DrawContext.h 1.17: * Development/Source/Core/System/E3Storage.c 1.25: * Development/Source/Platform/Be/E3BeDrawContext.c 1.12: * Development/Source/Platform/Be/E3BeStorage.c 1.9: * Development/Source/Platform/Cocoa/E3CocoaDrawContext.m 1.8: * Development/Source/Platform/Mac/E3MacDrawContext.c 1.35: * Development/Source/Platform/Mac/E3MacStorage.c 1.20: * Development/Source/Platform/Unix/E3UnixDrawContext.c 1.19: * Development/Source/Platform/Unix/E3UnixStorage.c 1.7: * Development/Source/Platform/Windows/E3WindowsDrawContext.c 1.17: * Development/Source/Platform/Windows/E3WindowsStorage.c 1.12: Changes to use C++ classes for instance data. * Development/Source/Core/Geometry/E3Geometry.c 1.29: * Development/Source/Core/Glue/QD3DMain.c 1.26: * Development/Source/Core/Support/E3ClassTree.c 1.31: * Development/Source/Core/Support/E3ClassTree.c 1.32: * Development/Source/Core/Support/E3ClassTree.h 1.15: * Development/Source/Core/Support/E3ClassTree.h 1.16: * Development/Source/Core/System/E3DrawContext.h 1.18: * Development/Source/Core/System/E3Extension.c 1.11: * Development/Source/Core/System/E3Main.c 1.40: * Development/Source/Core/System/E3Main.h 1.20: * Development/Source/Core/System/E3Pick.c 1.24: * Development/Source/Core/System/E3Renderer.c 1.28: * Development/Source/Core/System/E3Set.c 1.54: * Development/Source/Core/System/E3String.c 1.11: * Development/Source/Core/System/E3Texture.c 1.17: * Development/Source/Core/System/E3Transform.c 1.14: * Development/Source/Core/System/E3View.c 1.64: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Geometry.c 1.46: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Text.c 1.29: * Development/Source/FileFormats/Writers/3DMF/E3FFW_3DMFBin_Register.c 1.27: * Development/Source/FileFormats/Writers/3DMF/E3FFW_3DMFBin_Register.c 1.28: * Development/Source/FileFormats/Writers/3DMF/E3FFW_3DMFBin_Writer.c 1.31: * Development/Source/Platform/Cocoa/E3CocoaDrawContextNotify.m 1.8: Changes to use C++ classes for instance data 2005-01-20 roger_holmes * Development/Source/Core/System/E3Memory.c 1.26: Changes for C++ classes for instance data * Development/Source/Core/Geometry/E3GeometryNURBCurve.c 1.30: * Development/Source/Core/Geometry/E3GeometryNURBCurve.h 1.9: * Development/Source/Core/Glue/QD3DGeometry.c 1.22: * Development/Source/Core/Glue/QD3DIO.c 1.14: * Development/Source/Core/Glue/QD3DStorage.c 1.15: * Development/Source/Core/System/E3CustomElements.c 1.17: * Development/Source/Core/System/E3IO.c 1.18: * Development/Source/Core/System/E3IO.h 1.11: * Development/Source/Core/System/E3IOData.c 1.22: * Development/Source/Core/System/E3IOData.h 1.12: * Development/Source/Core/System/E3Storage.c 1.24: * Development/Source/Core/System/E3Storage.h 1.10: * Development/Source/Core/Viewer/E3Viewer.c 1.61: * Development/Source/FileFormats/E3IOFileFormat.c 1.21: * Development/Source/FileFormats/E3IOFileFormat.c 1.22: * Development/Source/FileFormats/E3IOFileFormat.h 1.14: * Development/Source/FileFormats/E3IOFileFormat.h 1.15: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF.c 1.48: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Bin.c 1.32: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Bin.c 1.33: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Geometry.c 1.45: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Text.c 1.28: Changes to use C++ classes for instance data 2005-01-18 roger_holmes * Development/Source/Core/Support/E3ClassTree.c 1.30: * Development/Source/Core/System/E3Main.h 1.19: * Development/Source/Core/System/E3Renderer.c 1.27: * Development/Source/Core/System/E3Set.c 1.53: * Development/Source/Core/System/E3Set.h 1.19: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF.c 1.47: Changes to use C++ classes for instance data. * Development/Source/Core/Support/E3ClassTree.h 1.14: Changes to use C++ classes for instance data 2005-01-17 cruanyes * Development/Source/Core/System/E3IO.c 1.17: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Text.c 1.27: Solved some issues to make it compile on MS VC++ 6.0 * Development/Source/Core/Support/E3ClassTree.h 1.13: made E3InstanceNode class friend of itself to allow use of private members in objects other than 'this' 2005-01-17 roger_holmes * Development/Source/Core/Geometry/E3Geometry.c 1.28: Fixed new unreported crash in decomposing a geoemetry. * Development/Source/Core/System/E3View.c 1.63: Changes to usee C++ classes for instance data. * Development/Source/Core/System/E3Pick.c 1.23: Changes for using C++ classes for instance data * Development/Source/Core/Support/E3ClassTree.c 1.29: * Development/Source/Core/Support/E3Compatibility.c 1.8: * Development/Source/Core/System/E3DrawContext.c 1.22: * Development/Source/Core/System/E3Set.c 1.52: Changes to use C++ classes for instance data. 2005-01-16 jwwalker * SDK/Includes/Quesa/Quesa.h 1.65: Added to comments on TQ3Mipmap structure. * SDK/Includes/Quesa/QuesaExtension.h 1.18: Corrected HeaderDoc markup for TQ3XSharedLibraryInfo. * Development/Source/Renderers/Interactive/IRTexture.h 1.7: Added an offset parameter to IRRenderer_Texture_ConvertImage. * Development/Source/Renderers/Interactive/IRTexture.c 1.23: Added an offset parameter to IRRenderer_Texture_ConvertImage. Corrected ir_texture_convert_mipmap. 2005-01-14 roger_holmes * Development/Source/Core/Geometry/E3GeometryTorus.c 1.21: * Development/Source/Core/Geometry/E3GeometryTriMesh.c 1.33: * Development/Source/Core/Geometry/E3GeometryTriangle.c 1.18: Changes to use C++ classess for instance data to improve speed. * Development/Source/Core/System/E3Light.c 1.10: * Development/Source/Core/System/E3Shader.c 1.14: * Development/Source/Core/System/E3Texture.c 1.16: Changes to use C++ classes for instance data * Development/Source/Core/Geometry/E3Geometry.h 1.11: * Development/Source/Core/System/E3Camera.h 1.9: * Development/Source/Core/System/E3Group.c 1.36: * Development/Source/Core/System/E3Group.h 1.12: * Development/Source/Core/System/E3Light.c 1.11: * Development/Source/Core/System/E3Main.c 1.39: * Development/Source/Core/System/E3Main.h 1.18: Renamed TQ3Shape to be E3Shape as that makes more sense. Also improves the Class Hierarchy window and makes it look more like the blue book (though that is abbreviated). * Development/Source/Core/System/E3IOData.c 1.21: * Development/Source/Core/System/E3Style.c 1.15: * Development/Source/Core/System/E3Transform.c 1.13: Changes to use C++ classses for instance data. * Development/Source/Core/Geometry/E3GeometryTriGrid.c 1.20: Changes to use C++ classes for instance data to improve speed. * Development/Source/Core/System/E3String.c 1.10: Changes for C++ class instance data 2005-01-13 roger_holmes * Development/Source/Core/System/E3Main.h 1.17: Changes for C++ Classes for instance data. * Development/Source/Core/Geometry/E3GeometryBox.c 1.27: * Development/Source/Core/Geometry/E3GeometryBox.h 1.9: * Development/Source/Core/Geometry/E3GeometryCone.c 1.24: * Development/Source/Core/Geometry/E3GeometryCylinder.c 1.24: * Development/Source/Core/Geometry/E3GeometryDisk.c 1.18: * Development/Source/Core/Support/E3ClassTree.c 1.28: * Development/Source/Core/System/E3Main.c 1.38: Changes for C++ classes for instance data * Development/Source/Core/Geometry/E3GeometryEllipse.c 1.18: * Development/Source/Core/Geometry/E3GeometryEllipsoid.c 1.23: * Development/Source/Core/Geometry/E3GeometryGeneralPolygon.c 1.17: * Development/Source/Core/Geometry/E3GeometryLine.c 1.16: * Development/Source/Core/Geometry/E3GeometryMarker.c 1.18: * Development/Source/Core/Geometry/E3GeometryMesh.c 1.34: * Development/Source/Core/Geometry/E3GeometryNURBCurve.c 1.29: * Development/Source/Core/Geometry/E3GeometryNURBPatch.c 1.30: * Development/Source/Core/Geometry/E3GeometryPixmapMarker.c 1.20: * Development/Source/Core/Geometry/E3GeometryPoint.c 1.14: * Development/Source/Core/Geometry/E3GeometryPolyLine.c 1.15: * Development/Source/Core/Geometry/E3GeometryPolyhedron.c 1.20: Changes to use C++ classes for instance data (hence faster) 2005-01-12 jwwalker * Development/Source/Core/Geometry/E3GeometryPixmapMarker.c 1.19: Fixed a memory leak in e3geom_pixmapmarker_update_position. * Development/Source/Core/System/E3Transform.c 1.12: In e3transform_camera_rasterize_submit, get the draw context area correctly. 2005-01-12 roger_holmes * Development/Source/Core/Geometry/E3Geometry.c 1.27: * Development/Source/Core/Geometry/E3Geometry.h 1.10: * Development/Source/Core/Geometry/E3GeometryPolygon.c 1.18: * Development/Source/Core/Glue/QD3DGroup.c 1.12: * Development/Source/Core/System/E3Group.c 1.35: * Development/Source/Core/System/E3Group.h 1.11: Changes for C++ classes for instance data 2005-01-11 jwwalker * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Text.c 1.26: Removed use of std::string::back() in e3fformat_3dmf_text_read_toc. 2005-01-11 roger_holmes * Development/Source/Core/Glue/QD3DCamera.c 1.10: * Development/Source/Core/Glue/QD3DMain.c 1.25: * Development/Source/Core/Support/E3ClassTree.c 1.27: * Development/Source/Core/Support/E3ClassTree.h 1.12: * Development/Source/Core/System/E3Camera.c 1.15: * Development/Source/Core/System/E3Camera.h 1.8: * Development/Source/Core/System/E3Main.c 1.37: * Development/Source/Core/System/E3Main.h 1.16: Changes for C++ Classes for instance data. * Development/Source/Core/System/E3Memory.c 1.25: * Development/Source/Core/System/E3Memory.h 1.14: Changes for C++ classes for instance data 2005-01-06 jwwalker * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Text.c 1.25: Changes to handle table of contents and references in text 3DMF. * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Text.h 1.9: Moved declaration of TE3FFormat3DMF_Text_Data into source file. * SDK/Includes/Quesa/CQ3ObjectRef.h 1.1: New wrapper class for Quesa objects. 2005-01-05 jwwalker * Development/Source/Platform/Windows/E3WindowsDrawContext.c 1.16: Modified e3drawcontext_win32dc_update so that if the background color changes, the draw context does not get destroyed. 2004-12-24 jwwalker * Development/Source/FileFormats/E3IOFileFormat.c 1.20: Modified E3FileFormat_GenericReadText_ReadUntilChars so that one could pass 0 for numChars. * Development/Source/Core/System/E3IO.c 1.16: In E3File_OpenRead and E3File_OpenWrite, set the mode field of TE3FileData, so that Q3File_GetMode will work. In E3File_IsEndOfContainer, E3File_SetReadInGroup, E3File_GetReadInGroup, and E3File_IsEndOfData, fix an assertion about the mode. 2004-12-23 cruanyes * Development/Source/Core/System/E3Main.c 1.36: * Development/Source/Core/System/E3Renderer.c 1.26: * Development/Source/Core/System/E3Set.c 1.51: Changed casts from boolean expressions to TQ3Boolean to make it compile on MS VC++ 6.0 * Development/Projects/Windows/Quesa.dsp 1.26: Forced C++ compilation and added newest files * Development/Source/Core/Support/E3ArrayOrList.c 1.19: * Development/Source/Core/Support/E3Pool.c 1.17: * Development/Source/Core/System/E3Math.c 1.47: Changed casts in left hand of expressions from (char*) to (char*& ) to make it compile on MS VC++ 6.0 * Development/Source/Core/Geometry/E3GeometryMesh.c 1.33: * Development/Source/Core/System/E3DrawContext.c 1.21: Added NULL statements to make it compile on MS VC++ 6.0 * Development/Source/Renderers/Common/GLTextureManager.c 1.3: * Development/Source/Renderers/Interactive/IRRenderer.c 1.28: Changed the C++ boolean operators (and, or ecc) with thew classic C (&& , ! ecc) to make it compile on MS VC++ 6.0 * Development/Source/Platform/Windows/E3WindowsPrefix.h 1.13: Changed some definitions to make it compile on MS VC++ 6.0 2004-12-17 jwwalker * Development/Source/Core/System/E3Texture.c 1.15: Changed e3texture_pixmap_duplicate and e3texture_mipmap_duplicate to really duplicate the storage instead of getting another reference. * Development/Source/Platform/Mac/E3MacStorage.c 1.19: New function e3storage_mac_handle_duplicate. * Development/Source/Core/System/E3Main.c 1.35: In E3Object_Duplicate, do not post an error on duplicating a memory storage. * Development/Source/Core/System/E3Storage.c 1.23: New function e3storage_memory_duplicate. 2004-12-15 jwwalker * SDK/Includes/Quesa/QuesaDrawContext.h 1.33: New constant kQ3DrawContextPropertySwapBufferInEndPass. * Documentation/developer/cvs.html 1.12: Fixed a dead link. * Development/Source/Renderers/Interactive/IRRenderer.c 1.27: In IRRenderer_EndPass, look for kQ3DrawContextPropertySwapBufferInEndPass. 2004-12-13 jwwalker * Development/Source/Renderers/Common/GLTextureManager.h 1.2: Added a prototype for GLTextureMgr_IsValidTextureCache. * Development/Source/Core/System/E3Set.c 1.50: Added typecasts for C++ compilation. 2004-12-12 jwwalker * Development/Projects/Mac/Quesa.mcp 1.29: Updated for C++. * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Text.c 1.24: In e3read_3dmf_text_readflag, recognize "Inline" as well as " IsInline" as a display group state flag. 2004-12-11 jwwalker * Development/Projects/Windows/Quesa.mcp 1.8: * Development/Projects/Windows/QuesaHeaders.h 1.4: * Development/Projects/Windows/QuesaHeadersDebug.h 1.2: Updated for C++. * Development/Source/Core/Viewer/E3Viewer.c 1.60: Changed SetPort typecasts for Classic compatibility. * Development/Projects/Mac/Quesa.xcode/project.pbxproj 1.2: Added GLTextureManager.c and updated for C++ compilation. * Development/Projects/Mac/Quesa Framework.mcp.xml 1.3: Updated for C++ compilation. 2004-12-07 jwwalker * Development/Source/Renderers/Common/GLTextureManager.c 1.2: New C++ implementation. * SDK/Includes/Quesa/QuesaDrawContext.h 1.32: New constant kQ3DrawContextPropertyGLTextureSharing. * Development/Source/Renderers/Common/GLDrawContext.c 1.47: Added ability to turn off texture sharing, because some video cards may be incompatible with it. 2004-12-06 jwwalker * Development/Source/Renderers/Common/GLDrawContext.c 1.46: Fixed another type conversion in Windows-specific code. * Development/Source/Platform/Mac/E3MacSystem.c 1.32: Enclose E3MacMachoFrameworkInit and E3MacMachoFrameworkTerminate in extern "C". 2004-12-04 jwwalker * Development/Source/Core/System/E3View.h 1.24: Changed TQ3MatrixState to be a typedef for TQ3Uns32, not an enum. This makes it possible to use bit operations on masks without compiler complaints. * Development/Source/Core/Geometry/E3GeometryMarker.c 1.17: * Development/Source/Core/Geometry/E3GeometryMesh.c 1.32: * Development/Source/Core/Geometry/E3GeometryPixmapMarker.c 1.18: * Development/Source/Core/Geometry/E3GeometryTriMesh.c 1.32: * Development/Source/Core/Glue/QD3DMain.c 1.24: * Development/Source/Core/Glue/QD3DSet.c 1.20: * Development/Source/Core/Support/E3ArrayOrList.c 1.18: * Development/Source/Core/Support/E3ClassTree.c 1.26: * Development/Source/Core/Support/E3Pool.c 1.16: * Development/Source/Core/Support/E3Utils.c 1.24: * Development/Source/Core/Support/E3Utils.h 1.20: * Development/Source/Core/System/E3CustomElements.c 1.16: * Development/Source/Core/Viewer/E3Viewer.c 1.59: * Development/Source/Core/Viewer/E3ViewerOldAPIs.c 1.18: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF.c 1.46: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Text.c 1.23: * Development/Source/FileFormats/Writers/3DMF/E3FFW_3DMFBin_Geometry.c 1.39: * Development/Source/FileFormats/Writers/3DMF/E3FFW_3DMFBin_Writer.c 1.30: * Development/Source/Platform/Mac/E3MacStorage.c 1.18: * Development/Source/Renderers/Common/GLDrawContext.c 1.45: * Development/Source/Renderers/Interactive/IRGeometryTriMesh.c 1.19: * Development/Source/Renderers/Interactive/IRUpdate.c 1.64: Fixed type conversions to make C++ compiler happy. * Development/Source/Renderers/Interactive/IRPrefix.h 1.40: Changed TQ3FVertexFlags and TQ3TriFlags to be typedefs for TQ3Uns32, not enums. This makes it possible to use bit operations on masks without compiler complaints. * Development/Source/Core/System/E3Memory.h 1.13: In TQ3ObjectData, changed stackCrawl member from void* to struct TQ3StackCrawlRec*. * SDK/Includes/Quesa/Quesa.h 1.64: Change definition of kQ3ArrayIndexNULL from ~0 to 0xFFFFFFFFUL to remove compile warnings about comparison of signed and unsigned integers. * Development/Source/Core/Geometry/E3GeometryCone.c 1.23: Removed second declaration of workVec in e3geom_cone_cache_new. * Development/Source/Core/System/E3View.c 1.62: Changed TQ3ViewStackState to be a typedef for TQ3Uns32, not an enum. This makes it possible to use bit operations on masks without compiler complaints. Also added a couple of typecasts. * SDK/Includes/Quesa/QuesaSet.h 1.25: Changed TQ3XAttributeMask to be a typedef for TQ3Uns32, not an enum, as in QD3DRenderer.h. This makes it possible to use bit operations on masks without compiler complaints. 2004-12-03 jwwalker * Development/Source/Core/Geometry/E3GeometryPolygon.c 1.17: In e3geom_polygon_cache_new, corrected edge data so that a Polygon will render in an edge fill style. 2004-12-02 jwwalker * Development/Source/Renderers/Interactive/IRUpdate.c 1.63: * Development/Source/Renderers/Wireframe/WFUpdate.c 1.11: When antialiasing is turned off, restore the default point and line sizes. 2004-11-30 jwwalker * SDK/Extras/Rayshade/Sources/QD3DPlugin/RSRegister.cpp 1.7: Added extern "C" around DLLMain declaration; without this it was not working in CodeWarrior. * SDK/Extras/Rayshade/Sources/QD3DPlugin/RS_Rasterize.cpp 1.5: Fixed RSRasterize_Create so that it would work with a Windows DC context with no pane specified. * SDK/Extras/Rayshade/Sources/Rayshade/LibObj/poly.cpp 1.2: * SDK/Extras/Rayshade/Sources/Rayshade/LibObj/poly.h 1.2: Work around a name conflict when compiling under Windows. * Development/Projects/Windows/Quesa.mcp 1.7: Adjusted access paths as suggested by bug 1027379, and added GLTextureManager.c. 2004-11-29 jwwalker * Development/Source/Renderers/Interactive/IRTexture.h 1.6: Removed prototype of IRRenderer_Texture_Rebuild, no longer needed. * Development/Source/Renderers/Interactive/IRTexture.c 1.22: Updated for texture sharing. * Development/Source/Renderers/Common/GLDrawContext.c 1.43: Enabled texture sharing on Mac OS X and Windows. * Development/Source/Renderers/Interactive/IRPrefix.h 1.39: In TQ3InteractiveData, remove cachedTextureCount and cachedTextures fields, added textureCache. In TQ3CachedTexture, renamed theTexture to cachedTextureObject so that I could more easily see where it was being referenced. * Development/Source/Renderers/Common/GLTextureManager.c 1.1: * Development/Source/Renderers/Common/GLTextureManager.h 1.1: New code for texture sharing. * Development/Source/Renderers/Common/GLDrawContext.c 1.44: In GLDrawContext_UpdateSize, fixed bug in the requires. * Development/Projects/Mac/Quesa Framework.mcp.xml 1.2: * Development/Projects/Mac/Quesa.mcp 1.28: Added GLTextureManager.c. * Development/Source/Renderers/Interactive/IRRenderer.c 1.26: Updated IRRenderer_StartFrame for texture sharing. 2004-11-28 jwwalker * Development/Source/Core/System/E3DrawContext.h 1.16: Added windowRect field to TQ3Win32DCDrawContextState so we can tell if the window was resized. * Development/Source/Renderers/Interactive/IRRegister.c 1.25: Changed kRendererDefaultDepthBits from 16 to 32. In an Aug. 23 change to GLDrawContext.c, Dair thought he changed the default depth bits to 32, but it was not working in the IR because of this. * Development/Source/Renderers/Wireframe/WFRenderer.c 1.12: Check for window size or pane change in WFRenderer_StartFrame. * Development/Source/Renderers/Common/GLDrawContext.h 1.14: New function GLDrawContext_UpdateSize. * SDK/Examples/Qut/Windows/QutWindows.c 1.15: On Exit or window close, just post a quit message rather than destroying the window, so that Quesa renderers and such can be disposed before the window. Show FPS in the window title. Do not destroy and recreate the draw context when the window is resized. Do not set the pane flag on the draw context. * Development/Source/Renderers/Common/GLDrawContext.c 1.42: Added code to update a draw context, rather than recreating it, when a window is resized, on Mac and Windows. * Development/Source/Renderers/Interactive/IRRenderer.c 1.25: Check for window size or pane change in IRRenderer_StartFrame. * SDK/Examples/Qut/Mac/QutMac.c 1.40: Do not destroy and recreate the draw context when the window is resized. Do not set the pane flag on the draw context. * Development/Source/Platform/Windows/E3WindowsDrawContext.c 1.15: Factored e3drawcontext_win32dc_get_dimensions_from_DC out of e3drawcontext_win32dc_get_dimensions. In e3drawcontext_win32dc_new, initialize new windowRect field. In e3drawcontext_win32dc_update, check for window resize. 2004-11-27 jwwalker * Documentation/info/download.html 1.21: Link to Files area at SourceForge. 2004-11-22 jwwalker * Development/Source/Platform/Mac/E3MacSystem.c 1.31: Added conditions in E3MacSystem_LoadPlugins so that it would compile and link in Classic targets. 2004-11-06 jwwalker * Development/Source/Renderers/Common/GLDrawContext.c 1.41: In gldrawcontext_win_new, correct a bug in glViewport, and add glScissor. In gldrawcontext_win_setcurrent and gldrawcontext_win_destroy, add debug code. 2004-11-03 jwwalker * Development/Source/Core/Support/E3HashTable.c 1.13: Optimized e3hash_find_node. Small optimization in E3HashTable_Find. 2004-11-01 jwwalker * Development/Source/Renderers/Interactive/IRGeometry.c 1.49: In IRGeometry_Validate_Triangles, the test for normalized normals was a little too strict even for debugging. * Development/Source/Platform/Mac/E3MacSystem.c 1.30: In e3mac_load_plugins, use ResolveAliasFileWithMountFlags in place of ResolveAliasFile to fix a problem with ResolveAliasFile hanging, and also re-fetch the type and creator if an alias was resolved. * Development/Source/Platform/Mac/E3MacSystem.c 1.29: Add initialization and termination routines for Mach-o. Provide different implementation of e3mac_load_plugins for Mach-o. * SDK/Extras/Rayshade/Sources/QD3DPlugin/RSRegister.cpp 1.6: Added an initialization function for Mach-o. * Development/Projects/Mac/Quesa Framework.mcp.xml 1.1: New CodeWarrior 9 project to make a Quesa framework. * SDK/Extras/Rayshade/Projects/MacOS/Carbon Release.h 1.6: Define the "macintosh" macro for Mach-O. * SDK/Extras/Rayshade/Projects/MacOS/Rayshade.mcp.xml 1.1: New CodeWarrior 9 project with Mach-O bundle targets. * Development/Projects/Mac/QuesaMachoDebug.pch 1.1: * Development/Projects/Mac/QuesaMachoRelease.pch 1.1: New precompiled header for Mach-O framework version of Quesa. * Development/Source/Platform/Mac/Resources/Quesa.plc 1.1: New file to make Info.plist for a Quesa framework using CodeWarrior. 2004-10-31 jwwalker * SDK/Examples/Qut/Mac/QutMac.c 1.38: In qut_carbon_window_event, when handling a click in the content region, convert the mouse location to local coordinates. * SDK/Extras/Rayshade/Projects/MacOS/Carbon Debug.h 1.5: Define the "macintosh" macro for Mach-O. * SDK/Examples/Qut/Mac/QutMac.c 1.39: In qut_carbon_window_event, when handling a click in the content region, call the mouse-up handler. * Development/Source/Core/Support/E3Version.h 1.18: Hide certain parts if PLIST_COMPILER is true, so that this header may be included in a CodeWarrior .plc file. * SDK/Extras/Rayshade/Sources/Rayshade/config.h 1.2: fix conflict with MSL's cstring_mach.h 2004-10-30 jwwalker * Development/Source/Core/Support/E3Version.h 1.17: Corrected kQ3PrereleaseVersion, and comments explaining that it is not BCD. 2004-10-27 jwwalker * Development/Source/Platform/Mac/E3MacDrawContext.c 1.34: In e3drawcontext_mac_update, in the case where we call e3drawcontext_mac_buildregions, also call e3drawcontext_mac_checkregions. This is to fix an unnecessary rebuild of the OpenGL context the second time it is rendered, if the window has been resized before the first render. 2004-10-25 jwwalker * Development/Source/Platform/Mac/E3MacDrawContext.c 1.33: In e3drawcontext_mac_update, in the case where we do not call e3drawcontext_mac_checkregions, update the pane and paneState fields. This is to fix an unnecessary rebuild of the OpenGL context the second time it is rendered, if the draw context has been resized before the first render. 2004-10-23 jwwalker * SDK/Examples/Qut/QutTexture.c 1.11: Made QutTexture_CreateTextureObjectFromTGAFile compatible with QuickDraw 3D. 2004-10-22 cruanyes * SDK/Extras/Rayshade/Sources/Rayshade/LibText/CImageTexture.cpp 1.5: Solved incorrect lightning of textures (by Daniele Cavallini) 2004-10-22 jwwalker * Development/Source/Core/Glue/QD3DView.c 1.17: In Q3View_SetRenderer, allow the renderer to be set to NULL (as is allowed by QD3D). 2004-10-13 cruanyes * Development/Source/Platform/Unix/E3UnixDrawContext.c 1.18: Solved a compiler error, due to a misnamed variable 2004-10-10 cruanyes * Development/Source/Core/System/E3Camera.c 1.14: Corrected an error compiling with VC++ 6.0 on Windows 2004-10-06 jwwalker * Development/Source/Renderers/Interactive/IRGeometryTriMesh.c 1.18: In ir_geom_trimesh_build_vertex_normals, previously the missing vertex normals were being copied from the parent face only if the parent face was visible. But even in that case, the vertex may belong to some other face that is visible, so its normal needs to be defined. 2004-10-05 grantd * Development/Source/Core/Support/E3System.h 1.12: Fixed compiler warning from gcc. * Development/Source/Core/System/E3DrawContext.c 1.20: * Development/Source/Core/System/E3DrawContext.h 1.15: * Development/Source/Platform/Be/E3BeDrawContext.c 1.11: * Development/Source/Platform/Cocoa/E3CocoaDrawContext.m 1.7: * Development/Source/Platform/Mac/E3MacDrawContext.c 1.32: * Development/Source/Platform/Unix/E3UnixDrawContext.c 1.17: * Development/Source/Platform/Windows/E3WindowsDrawContext.c 1.14: Add E3DrawContext_InitaliseData to initialise common draw context data. 2004-10-02 cruanyes * Development/Source/Renderers/Common/GLPrefix.h 1.14: * Development/Source/Renderers/Common/GLUtils.c 1.14: * Development/Source/Renderers/Common/GLUtils.h 1.10: * Development/Source/Renderers/Interactive/IRTexture.c 1.21: checks for CLAMP_TO_EDGE and uses it when available for texture shaders that have a kQ3ShaderUVBoundaryClamp setting. by Frank Condello 2004-10-02 jwwalker * Development/Source/Renderers/Interactive/IRPrefix.h 1.38: Removed fields from TQ3TransparentPrim that are no longer needed for depth sorting. * Development/Source/Renderers/Interactive/IRTransparent.c 1.23: Changed the depth sorting algorithm to a simpler, more stable one. 2004-09-14 jwwalker * SDK/Examples/Qut/Mac/QutMac.c 1.37: Fixed a minor memory leak in QutMac_SelectMetafileToOpen. 2004-08-31 jwwalker * Development/Source/Core/Viewer/E3ViewerTools.c 1.21: Made to compile when QUESA_OS_MACINTOSH and QUESA_UH_IN_FRAMEWORKS are both true. * Development/Source/Platform/Mac/E3MacMemory.c 1.15: Made to compile when QUESA_UH_IN_FRAMEWORKS is true. 2004-08-28 jwwalker * Development/Source/Core/Geometry/E3GeometryNURBPatch.c 1.29: In e3geom_nurbpatch_evaluate_uv, normalize the normal vector. In e3geom_nurbpatch_worldscreen_subdiv, prevent an infinite subdiv value from being passed to e3geom_nurbpatch_constant_subdiv. * Development/Source/Core/Geometry/E3Geometry.c 1.26: In e3geometry_cache_isvalid, fix unnecessary re-caching of geometries that use subdivision. 2004-08-23 grantd * Development/Source/Renderers/Common/GLDrawContext.c 1.40: Depth buffer now defaults to 32bpp. 2004-08-11 jwwalker * Development/Source/Core/System/E3Memory.c 1.24: Changed symbol definitions so that Q3_MEMORY_DEBUG can be turned off and on independently of Q3_DEBUG (the default behavior is unchanged). In E3SlabMemory_SetCount, made slabs grow exponentially. 2004-08-09 roger_holmes * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Bin.c 1.31: Corrected bug whereby sometimes Quesa would ignore items at the end of a file because it erroneously though it was reading beyond the start of the table of contents 2004-08-05 grantd * Development/Source/Core/Support/E3Utils.c 1.23: Fixed typo in previous check in. * Development/Source/Renderers/Interactive/IRGeometry.c 1.48: Patch from FrankC - blend transparency colour irrespective of illumination setting. 2004-08-05 roger_holmes * Development/Source/Core/Geometry/E3GeometryTriMesh.c 1.31: Changes made because of changes in E3Utils.c. * Development/Source/Core/Geometry/E3GeometryTriangle.c 1.17: Changes because of changes to E3Utils.c. * Development/Source/Core/Support/E3Utils.c 1.22: For a surface or its vertices which had its own normals, the normal returned by picking was in local coordinates. After this change it is now always returned in world coordinates just like for surfaces without normals and just like QD3D. This could be optimised as we are calling matrix invert for every point saved. If we saved a flag to say if it is in local or world coordinates, this could be done afterwards only for those points returned to the host application. * Development/Source/Core/Support/E3Utils.h 1.19: Changes to reflect changes to E3Utils.c. 2004-07-30 jwwalker * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Bin.c 1.30: Added function e3read_3dmf_bin_getinstancedata so that Quesa can once again read 3DMF files in both byte orders. * Development/Source/Platform/Windows/E3WindowsSystem.c 1.15: In E3WindowsSystem_LoadPlugins, corrected order of parameters to GetCurrentDirectory. 2004-07-29 jwwalker * Development/Source/Core/System/E3Style.c 1.14: Added a duplicate method for highlight style objects. 2004-07-29 grantd * Development/Source/Platform/Windows/E3WindowsSystem.c 1.14: Load Windows plug-ins from the current directory. 2004-07-27 jwwalker * SDK/Includes/Quesa/QuesaCamera.h 1.20: Clarified comments on TQ3ViewAngleAspectCameraData. 2004-07-21 jwwalker * Development/Source/Renderers/Interactive/IRGeometry.c 1.47: In IRGeometry_Validate_Triangles and IRGeometry_Validate_Vertices, improve the check for normalized vectors. 2004-07-19 jwwalker * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Geometry.c 1.43: Made E3Read_3DMF_Geom_TriMesh less likely to crash when given bad data. 2004-07-19 grantd * Development/Source/Core/Geometry/E3GeometryBox.c 1.26: * Development/Source/Core/Geometry/E3GeometryCone.c 1.22: * Development/Source/Core/Geometry/E3GeometryCylinder.c 1.23: * Development/Source/Core/Geometry/E3GeometryDisk.c 1.17: * Development/Source/Core/Geometry/E3GeometryEllipse.c 1.17: * Development/Source/Core/Geometry/E3GeometryEllipsoid.c 1.22: * Development/Source/Core/Geometry/E3GeometryGeneralPolygon.c 1.16: * Development/Source/Core/Geometry/E3GeometryLine.c 1.15: * Development/Source/Core/Geometry/E3GeometryMarker.c 1.16: * Development/Source/Core/Geometry/E3GeometryNURBCurve.c 1.28: * Development/Source/Core/Geometry/E3GeometryNURBPatch.c 1.28: * Development/Source/Core/Geometry/E3GeometryPixmapMarker.c 1.17: * Development/Source/Core/Geometry/E3GeometryPoint.c 1.13: * Development/Source/Core/Geometry/E3GeometryPolyLine.c 1.14: * Development/Source/Core/Geometry/E3GeometryPolygon.c 1.16: * Development/Source/Core/Geometry/E3GeometryPolyhedron.c 1.19: * Development/Source/Core/Geometry/E3GeometryTorus.c 1.20: * Development/Source/Core/Geometry/E3GeometryTriGrid.c 1.19: * Development/Source/Core/Geometry/E3GeometryTriMesh.c 1.30: * Development/Source/Core/Geometry/E3GeometryTriangle.c 1.16: * Development/Source/Core/Support/E3Prefix.h 1.26: * Development/Source/Core/System/E3IO.c 1.15: * Development/Source/Core/System/E3IOData.c 1.20: * Development/Source/Core/System/E3Memory.c 1.23: * Development/Source/Core/System/E3Set.c 1.49: * Development/Source/Core/System/E3Storage.c 1.22: * Development/Source/Core/System/E3Texture.c 1.14: * Development/Source/FileFormats/E3IOFileFormat.c 1.19: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF.c 1.45: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Bin.c 1.29: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Geometry.c 1.44: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Text.c 1.22: * Development/Source/FileFormats/Writers/3DMF/E3FFW_3DMFBin_Writer.c 1.29: * Development/Source/Platform/Be/E3BeDrawContext.c 1.10: * Development/Source/Platform/Cocoa/E3CocoaDrawContext.m 1.6: * Development/Source/Platform/Cocoa/E3CocoaDrawContextNotify.m 1.7: * Development/Source/Platform/Mac/E3MacDrawContext.c 1.31: * Development/Source/Platform/Mac/E3MacStorage.c 1.17: * Development/Source/Platform/Unix/E3UnixDrawContext.c 1.16: * Development/Source/Platform/Windows/E3WindowsDrawContext.c 1.13: * Development/Source/Platform/Windows/E3WindowsStorage.c 1.11: Made TQ3Object opaque. * Development/Source/Core/Support/E3ClassTree.c 1.25: Conditionalised E3ClassTree_GetLeafObject on debug builds. * Development/Source/Core/System/E3View.c 1.61: Made internal functions static. 2004-07-18 grantd * Development/Source/Core/Support/E3ClassTree.c 1.24: * Development/Source/Core/Support/E3ClassTree.h 1.11: Added E3ClassTree_GetLeafObject. 2004-07-15 jwwalker * SDK/Includes/Quesa/QuesaMath.h 1.38: Added to HeaderDoc comments for Q3Quaternion_GetAxisAndAngle. 2004-07-12 jwwalker * Development/Source/Renderers/Interactive/IRTransparent.c 1.22: Use camera coordinates for rendering, to fix a problem with transparent textures. In ir_geom_transparent_add, cull out a primitive if no z coordinates are in the visible range. * Development/Source/Renderers/Interactive/IRPrefix.h 1.37: In TQ3TransparentPrim, added cameraToFrustum, frustumSpaceVerts. 2004-07-09 jstrout * Documentation/developer/book/02_principles/index.html 1.3: Updated reference-counting section, and took a first pass at the class hierarchy section. 2004-07-03 grantd * Development/Source/Core/Geometry/E3Geometry.c 1.25: * Development/Source/Core/System/E3Renderer.c 1.25: * Development/Source/Core/System/E3Shader.c 1.13: * Development/Source/Core/System/E3String.c 1.9: * Development/Source/Core/System/E3Transform.c 1.11: * Development/Source/Core/System/E3View.c 1.60: * Development/Source/Core/Viewer/E3Viewer.c 1.58: Making TQ3Object opaque. 2004-06-30 grantd * Development/Source/Core/Glue/QD3DGeometry.c 1.21: * Development/Source/Core/System/E3DrawContext.c 1.19: * Development/Source/Core/System/E3Extension.c 1.10: * Development/Source/Core/System/E3Group.c 1.34: * Development/Source/Core/System/E3Light.c 1.9: * Development/Source/Core/System/E3Main.c 1.34: * Development/Source/Core/System/E3Memory.c 1.22: * Development/Source/Core/System/E3Memory.h 1.12: * Development/Source/Core/System/E3Pick.c 1.22: * Development/Source/Core/System/E3Style.c 1.13: Making TQ3Object opaque. 2004-06-28 grantd * Development/Source/Core/Support/E3ClassTree.c 1.23: * Development/Source/Core/Support/E3ClassTree.h 1.10: Define private TQ3Object on QUESA_OBJECTS_ARE_OPAQUE. Added E3ClassTree_GetClassByObject and E3ClassTree_GetMethodByObject. * Development/Source/Core/Support/E3Globals.h 1.47: Conditionalise TQ3Object visibility on QUESA_OBJECTS_ARE_OPAQUE. * Development/Source/Core/System/E3Main.c 1.33: Some opaque TQ3Object changes. * Development/Source/Core/System/E3Camera.c 1.13: Support opaque TQ3Object. * Development/Source/Core/Support/E3Prefix.h 1.25: Added QUESA_OBJECTS_ARE_OPAQUE build constant. 2004-06-23 grantd * Development/Source/Core/Support/E3Globals.c 1.12: * Development/Source/Core/Support/E3Globals.h 1.46: Added class tree timing fields. * Development/Source/Core/Support/E3HashTable.c 1.12: Use correct type for key validation. * Development/Source/Core/Support/E3ClassTree.c 1.22: Removed E3ClassTree_FindParentInstance as never used, added E3ClassTree_IsObjectValid to validate objects, added timing stats to class tree dump. * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF.c 1.44: * Development/Source/FileFormats/Readers/3DMF/E3FFR_3DMF_Geometry.c 1.42: Use public type in cast. * Development/Source/Core/Support/E3Prefix.h 1.24: Added QUESA_TIMING_STATS for internal timing. * Development/Source/Core/Glue/QD3DCustomElements.c 1.7: * Development/Source/Core/Glue/QD3DExtension.c 1.10: * Development/Source/Core/Glue/QD3DGeometry.c 1.20: * Development/Source/Core/Glue/QD3DGroup.c 1.11: * Development/Source/Core/Glue/QD3DMain.c 1.23: * Development/Source/Core/System/E3Memory.c 1.21: Use E3ClassTree_IsObjectValid for object validation. * Development/Source/Core/Support/E3ClassTree.h 1.9: Removed E3ClassTree_FindParentInstance as never used, added E3ClassTree_IsObjectValid to validate objects. 2004-06-23 jstrout * Documentation/developer/book/index.html 1.2: Added title and brief preface. * Documentation/developer/book/01_intro/index.html 1.2: Filled in a bit of text explaining what Quesa is and what some of its features are. * Documentation/developer/book/02_principles/index.html 1.2: Initial stab at the section on reference-counting. * Documentation/developer/apiref/MasterTOC.html 1.7: Added reference to the Using Quesa book. 2004-06-18 cruanyes * SDK/Includes/Quesa/QuesaStorage.h 1.27: Improved the description for Q3Win32Storage_New * Development/Source/Platform/Windows/E3WindowsStorage.c 1.10: removed e3storage_win32_delete that non only were not needed but was wrong too 2004-06-17 cruanyes * Development/Source/Platform/Windows/E3WindowsStorage.c 1.9: Q3WindowsStorage takes a open file and a open file had to leave, but currently it closed the file Now I've made both the open and close methods NOPs 2004-06-16 grantd * SDK/Examples/Qut/Mac/QutMac.h 1.14: Added dummy result to classic AEGetDescData stub. * SDK/Examples/Qut/Mac/QutMac.c 1.36: Fixed compiler warning. * SDK/Examples/Geom Test/Geom Test.mcp 1.8: Added TEC libraries to Classic target, required by current MSL. 2004-06-15 cruanyes * Development/Source/Renderers/Interactive/IRGeometry.c 1.46: * Development/Source/Renderers/Interactive/IRGeometryTriMesh.c 1.17: * Development/Source/Renderers/Interactive/IRTexture.c 1.20: Fix bug #895106 "Colours have no effect on textured geometry" This patch mimics QD3D 1.6's behaviour, modulating vertex colours with textures for null shaded geometry, as described here: <http://developer.apple.com/documentation/QuickTime/QD3D/ QD3DDelta.htm#_Toc438524142>. It also unifies a temp fix from the trimesh renderer that prevents lit textured geometry from modulating vertex colours when going through the tribuffer path. (by Frank Condello) 2004-06-15 jwwalker * Development/Source/Core/System/E3Renderer.c 1.24: In E3Renderer_Method_SubmitGeometry, fixed a recently-introduced bug in immediate mode. * Development/Source/Renderers/Interactive/IRTexture.c 1.19: In ir_texture_usemipmapping, plugged a memory leak. 2004-06-15 grantd * SDK/Examples/Geom Test/Geom Test.dsp 1.4: Added QutTexture.c to Windows Geom Test. * Development/Source/Core/System/E3View.c 1.59: Fixed 967633 - not all fog state was being checked when checking for redundant submits. 2004-06-13 jwwalker * Development/Source/Core/System/E3Storage.c 1.21: Changed e3storage_memory_grow to grow the buffer exponentially. 2004-06-12 jwwalker * Development/Source/Core/System/E3Renderer.c 1.23: In E3Renderer_Method_SubmitGeometry, if there is a surface shader, push and pop. (Fixing bug 895099) * Development/Source/Platform/Mac/E3MacSystem.c 1.28: E3MacSystem_LoadPlugins will now search for plugins in /Library/ CFMSupport, ~/Library/CFMSupport, and the Plugins folder of a bundle. * Development/Source/Renderers/Interactive/IRGeometry.c 1.45: In IRGeometry_Attribute_Handler, submit the shader rather than calling IRRenderer_Update_Shader_Surface. (Fixing bug 895099) Fixed some compile warnings. 2004-06-07 cruanyes * Development/Source/Core/System/E3Math.c 1.46: Changed parameter in e3vector3d_below_tolerance from double to float to avoid a double conversion * Development/Source/Renderers/Interactive/IRPrefix.h 1.36: * Development/Source/Renderers/Interactive/IRTexture.c 1.17: caches the useMipmap setting to revert to a GL_LINEAR minification filter when a Mipmap texture uses an incomplete set (by Frank Condello) 2004-06-07 jwwalker * Development/Source/Renderers/Interactive/IRTexture.c 1.18: In ir_texture_usemipmapping, change true and false to kQ3True and kQ3False, so it would compile on non-Mac platforms. * SDK/Examples/Qut/Mac/QutMac.c 1.35: Changed QutMac_SelectMetafileToOpen to accept files with either the correct file type or the correct extension. * Documentation/developer/bugs.html 1.16: Removed a bunch of obsolete items that have been handled or migrated to SourceForge. 2004-06-06 jwwalker * SDK/Includes/Quesa/QuesaMath.h 1.37: Clarified HeaderDoc comments on affine combinations. * Development/Source/Core/System/E3Math.c 1.45: Changed definition of E3RationalPoint3D_AffineComb, E3RationalPoint4D_AffineComb. Removed comments that certain functions make no sense mathematically; now they do. * SDK/Includes/Quesa/QuesaMath.h 1.36: Corrected definitions of __Q3FastRationalPoint4D_DistanceSquared, __Q3FastRationalPoint3D_DistanceSquared, __Q3FastRationalPoint4D_RRatio. 2004-06-05 cruanyes * Development/Projects/Unix/ChangeLog 1.3: Updated for 1.6d19 2004-06-05 jwwalker * Documentation/developer/apiref/MasterTOC.html 1.6: * Documentation/developer/bugs.html 1.15: * Documentation/developer/cvs.html 1.11: * Documentation/index.html 1.17: * Documentation/info/download.html 1.20: * Documentation/info/list.html 1.10: * Documentation/info/screenshots.html 1.7: * Documentation/info/status.html 1.10: * Documentation/other/contributors.html 1.19: * Documentation/other/logo.html 1.6: * Documentation/reference/build.html 1.14: * Documentation/reference/licence.html 1.5: Standardized layout. * Documentation/other/links.html 1.9: Standardized layout. Fixed broken links. Removed references to web rings we don't belong to. * Documentation/info/list_archive.html 1.5: Standardized layout. Removed broken archive search. * Documentation/site-styles.css 1.1: initial checkin * Documentation/developer/todo.html 1.12: * Documentation/reference/docs.html 1.7: Standardized layout. Fixed validation warnings. 2004-06-04 cruanyes * Development/Source/Renderers/Common/GLDrawContext.c 1.39: in GLDrawContext_GetMinLineWidth we were asking for two floats ( GL_LINE_WIDTH_RANGE returns an array of two elements) but allocating a single one to hold it * Development/Projects/Unix/Makefile.am.examples 1.4: * Development/Projects/Unix/Scripts/prepareUnixTree.sh 1.5: * SDK/Examples/Geom Test/Geom Test.c 1.50: Added support for textures in Unix * Development/Projects/Unix/INSTALL 1.2: * Development/Projects/Unix/INSTALL.examples 1.2: * Development/Projects/Unix/INSTALL.fullDist 1.3: * Development/Projects/Unix/Scripts/buildDistribution.sh 1.5: * Development/Projects/Unix/Scripts/buildUnix.sh 1.7: * Development/Projects/Unix/acinclude.m4 1.2: * Development/Projects/Unix/configure.in 1.5: * Development/Projects/Unix/configure.in.examples 1.4: Improved Unix build scripts * Development/Source/Renderers/Wireframe/WFUpdate.c 1.10: in WFRenderer_Update_Style_AntiAlias we were calculating the lineWidth, but it were not used afterwards 2004-06-04 jstrout * Development/Source/Renderers/Interactive/IRPrefix.h 1.35: * Development/Source/Renderers/Interactive/IRTexture.c 1.16: Checked in fix from Frank Condello for issue 905678 (automatic mipmapping as in QD3D 1.6). 2004-06-03 jwwalker * Development/Source/Core/System/E3DrawContext.c 1.18: In e3drawcontext_pixmap_update, do not rebuild the pixmap if the depth state has changed. * Development/Source/Renderers/Common/GLDrawContext.c 1.38: New function GLDrawContext_SetDepthState. In GLDrawContext_SetClearFlags, use the new properties. In GLDrawContext_New, call GLDrawContext_SetDepthState. * SDK/Includes/Quesa/QuesaDrawContext.h 1.31: Defined kQ3DrawContextPropertyClearDepthBufferFlag, kQ3DrawContextPropertyClearDepthBufferValue, kQ3DrawContextPropertyGLDepthFunc, kQ3DrawContextPropertyWritableDepthBuffer. * Development/Source/Renderers/Interactive/IRPrefix.h 1.34: Added drawContextEditIndex field to TQ3InteractiveData. * Development/Source/Renderers/Interactive/IRTransparent.c 1.21: In IRTransBuffer_Draw, save and restore the depth mask. * SDK/Includes/Quesa/QuesaRenderer.h 1.30: Added kQ3XDrawContextValidationDepthState. Corrected documentation of kQ3XDrawContextValidationClearFlags. * Development/Source/Core/System/E3CustomElements.c 1.15: In E3Object_SetProperty and E3Object_RemoveProperty, bump the edit index of the object. * Development/Source/Core/System/E3Style.c 1.12: Provide a delete method for highlight styles to plug a memory leak. * Development/Source/Renderers/Common/GLDrawContext.h 1.13: New function GLDrawContext_SetDepthState. * Development/Source/Renderers/Interactive/IRRenderer.c 1.24: In IRRenderer_StartFrame, if the draw context edit index has changed, invalidate depth buffer state. 2004-06-03 jstrout * Documentation/developer/book/10_rendering/index.html 1.4: Added overview and sample code for rendering a scene. 2004-06-02 jwwalker * Development/Source/Core/System/E3CustomElements.c 1.14: * Development/Source/Core/System/E3CustomElements.h 1.8: New property custom element, new functions E3Object_GetProperty, E3Object_SetProperty, E3Object_RemoveProperty. * Development/Source/Core/Glue/QD3DMain.c 1.22: * SDK/Includes/Quesa/Quesa.h 1.63: New functions Q3Object_GetProperty, Q3Object_RemoveProperty, Q3Object_SetProperty. * Development/Source/Core/Support/E3Globals.h 1.45: Added kQ3ClassNameCustomElementProperties, kQ3ObjectTypeCustomElementProperties. 2004-06-02 jstrout * SDK/Includes/Quesa/QuesaView.h 1.25: Clarified header docs on various _EndFoo methods. * Documentation/developer/book/11_loadsave/index.html 1.3: Added some notes and an example re. saving data to a file or buffer. 2004-06-01 jstrout * SDK/Includes/Quesa/QuesaStorage.h 1.26: Deleted a spurious line in the header docs for Q3MacintoshStorage_New. * Documentation/developer/bugs.html 1.14: * Documentation/developer/cvs.html 1.10: * Documentation/developer/todo.html 1.11: * Documentation/index.html 1.16: * Documentation/info/download.html 1.19: * Documentation/info/list_archive.html 1.4: * Documentation/info/screenshots.html 1.6: * Documentation/info/status.html 1.9: * Documentation/other/contributors.html 1.18: * Documentation/other/links.html 1.8: * Documentation/other/logo.html 1.5: * Documentation/reference/build.html 1.13: * Documentation/reference/carbon.html 1.7: * Documentation/reference/docs.html 1.6: * Documentation/reference/lgpl.html 1.8: * Documentation/reference/licence.html 1.4: Removed Carbon Dating link as it was making US look rather dated. * Development/Source/Core/Glue/QD3DGroup.c 1.10: Check for null 'object' parameter in Q3Group_AddObject, to match behavior of QD3D. See also <http://support.realsoftware.com/ feedback/viewreport.php?reportid=jdynkbgs>. * Documentation/developer/book/11_loadsave/index.html 1.2: Added some notes and an example re. loading data from a file or buffer. * Documentation/info/list.html 1.9: *** empty log message *** 2004-05-29 jwwalker * Documentation/info/download.html 1.17: Sourceforge logo at top, sourceforge link at bottom, change download link for MacCVS Pro session file to point to SourceForge. * Documentation/index.html 1.15: Sourceforge logo at top, sourceforge link at bottom, refer to sourceforge for bugs and CVS. * Documentation/developer/bugs.html 1.13: * Documentation/developer/cvs.html 1.9: * Documentation/info/download.html 1.18: Fixed HTML validation errors and warnings. * Documentation/info/files/quesa.cvs.sit 1.2: Changed host information to SourceForge. * Documentation/developer/bugs.html 1.12: Refer to sourceforge for bug tracker and enhancement tracker. Sourceforge logo at top, sourceforge link at bottom. * Documentation/info/list.html 1.8: Link to SourceForge for mailing list. Removed nonfunctional archive search. Sourceforge logo at top, sourceforge link at bottom. * Documentation/developer/cvs.html 1.8: Updated CVS info for SourceForge. Sourceforge logo at top, sourceforge link at bottom. * Documentation/other/contributors.html 1.17: * Documentation/reference/licence.html 1.3: Sourceforge logo at top, sourceforge link at bottom. 2004-05-28 jwwalker * Documentation/other/contributors.html 1.16: Fixed a typo, added ALT attributes on images, fixed my link. 2004-05-27 jwwalker * Documentation/other/contributors.html 1.15: Updated my links and icon. * Development/Source/Core/System/E3DrawContext.c 1.17: In e3drawcontext_pixmap_update, no need to update the state if only the clear method has changed. * Documentation/other/images/FrameForge.gif 1.1: New FrameForge contributor icon. 2004-05-19 jwwalker * Development/Source/Core/Geometry/E3GeometryEllipsoid.c 1.21: In e3geom_ellipsoid_cache_new, use E3Geometry_IsDegenerateTriple. * Development/Source/Core/Geometry/E3Geometry.c 1.24: * Development/Source/Core/Geometry/E3Geometry.h 1.9: New function E3Geometry_IsDegenerateTriple factored out of e3geom_cone_cache_new. * Development/Source/Core/Geometry/E3GeometryCylinder.c 1.22: In e3geom_cylinder_cache_new, use E3Geometry_IsDegenerateTriple. * Development/Source/Core/Geometry/E3GeometryCone.c 1.21: In e3geom_cone_cache_new, factored out E3Geometry_IsDegenerateTriple. 2004-05-15 jwwalker * Development/Source/Core/System/E3CustomElements.c 1.13: New constants kQ3ClassNameCustomElementBeforePick, kQ3ClassNameCustomElementAfterPick. In E3CustomElements_RegisterClass, register the picking callbacks. * SDK/Includes/Quesa/QuesaCustomElements.h 1.21: New element types kQ3CallbackElementTypeBeforePick, kQ3CallbackElementTypeAfterPick. * SDK/Examples/Geom Test/Geom Test.c 1.49: In doPicktest, added a check that if there was a hit, all requested information was returned. * Development/Source/Core/System/E3View.c 1.58: In e3View_SubmitRetained_Pick, call the pre and post pick callbacks. Bail out of E3View_PickStack_PushGroup, E3View_PickStack_PopGroup, and E3View_PickStack_SavePosition if inside a decomposed object. 2004-05-03 jwwalker * SDK/Examples/Qut/QutTexture.c 1.10: Defined new functions QutTexture_CreateTextureObjectFromTGAFile and QutTexture_CreateTextureFromTGAFile, and conditioned the other functions on QUESA_OS_MACINTOSH. * SDK/Examples/Geom Test/Geom Test.c 1.48: Test textures on non-Mac platforms. * SDK/Examples/Qut/QutTexture.h 1.8: Declared new functions QutTexture_CreateTextureObjectFromTGAFile and QutTexture_CreateTextureFromTGAFile. * SDK/Examples/Qut/Qut.h 1.26: Include QutTexture.h on non-Mac platforms too. * SDK/Examples/Support Files/Images/1.tga 1.1: * SDK/Examples/Support Files/Images/2.tga 1.1: * SDK/Examples/Support Files/Images/3.tga 1.1: * SDK/Examples/Support Files/Images/4.tga 1.1: * SDK/Examples/Support Files/Images/5.tga 1.1: * SDK/Examples/Support Files/Images/6.tga 1.1: * SDK/Examples/Support Files/Images/Quesa.tga 1.1: TGA version of image file for Geom Test 2004-04-28 grantd * Development/Projects/Mac/QuesaCarbonDebug.pch 1.7: * Development/Projects/Mac/QuesaCarbonProfile.pch 1.7: * Development/Projects/Mac/QuesaCarbonRelease.pch 1.7: * Development/Projects/Mac/QuesaClassicDebug.pch 1.8: * Development/Projects/Mac/QuesaClassicProfile.pch 1.8: * Development/Projects/Mac/QuesaClassicRelease.pch 1.8: * Development/Projects/Mac/QuesaStaticDebug.pch 1.5: * Development/Projects/Mac/QuesaStaticProfile.pch 1.5: * Development/Projects/Mac/QuesaStaticRelease.pch 1.5: * Development/Projects/Unix/COPYING 1.3: * Development/Scripts/Headeriser/Headeriser.pl 1.6: * Development/Scripts/Skeleton/Skeleton.pl 1.6: * Development/Source/Core/Geometry/E3Geometry.c 1.23: * Development/Source/Core/Geometry/E3Geometry.h 1.8: * Development/Source/Core/Geometry/E3GeometryBox.c 1.25: * Development/Source/Core/Geometry/E3GeometryBox.h 1.8: * Development/Source/Core/Geometry/E3GeometryCone.c 1.20: * Development/Source/Core/Geometry/E3GeometryCone.h 1.8: * Development/Source/Core/Geometry/E3GeometryCylinder.c 1.21: * Development/Source/Core/Geometry/E3GeometryCylinder.h 1.8: * Development/Source/Core/Geometry/E3GeometryDisk.c 1.16: * Development/Source/Core/Geometry/E3GeometryDisk.h 1.7: * Development/Source/Core/Geometry/E3GeometryEllipse.c 1.16: * Development/Source/Core/Geometry/E3GeometryEllipse.h 1.7: * Development/Source/Core/Geometry/E3GeometryEllipsoid.c 1.20: * Development/Source/Core/Geometry/E3GeometryEllipsoid.h 1.7: * Development/Source/Core/Geometry/E3GeometryGeneralPolygon.c 1.15: * Development/Source/Core/Geometry/E3GeometryGeneralPolygon.h 1.8: * Development/Source/Core/Geometry/E3GeometryLine.c 1.14: * Development/Source/Core/Geometry/E3GeometryLine.h 1.8: * Development/Source/Core/Geometry/E3GeometryMarker.c 1.15: * Development/Source/Core/Geometry/E3GeometryMarker.h 1.8: * Development/Source/Core/Geometry/E3GeometryMesh.c 1.31: * Development/Source/Core/Geometry/E3GeometryMesh.h 1.10: * Development/Source/Core/Geometry/E3GeometryNURBCurve.c 1.27: * Development/Source/Core/Geometry/E3GeometryNURBCurve.h 1.8: * Development/Source/Core/Geom... [truncated message content] |
|
From: James W. W. <os...@jw...> - 2005-01-27 06:54:14
|
I made drafts of the SDKs: <ftp://ftp.frameforge3d.com/misc/quesa_1.6d20_sdk_win32.zip> <ftp://ftp.frameforge3d.com/misc/quesa_1.6d20_sdk_mac.sit> As for the source releases, I suppose we should regenerate the API reference from the headers. I tried running the DoQuesaDocs.pl script, and nothing happened. No error message, no docs. Anyone know how this is supposed to work? -- <http://www.jwwalker.com/> |
|
From: James W. W. <ja...@wr...> - 2005-01-27 03:09:15
|
I wrote: >I checked out the project as of 5 Dec 2004 and it compiles without >error as C using CodeWarrior 8.3. Oops, I spoke too soon. It compiles cleanly for Carbon, but E3Viewer.c does not compile in Classic targets. It looks like I made this bug on Dec. 4, and fixed it on Dec. 11. So maybe Jos=E9's original suggestion of Dec. 3 was right. -- James W. Walker, ScriptPerfection Enterprises, Inc. <http://www.write-brain.com/> |
|
From: James W. W. <ja...@wr...> - 2005-01-27 00:01:49
|
I don't know if we decided that anyone was in charge of this, but I made a draft of a 1.6d20 SDK for Windows. You can get it from <ftp://ftp.frameforge3d.com/misc/quesa_1.6d20_sdk.zip>. I found that we didn't have a CodeWarrior project to build Geom Test for Windows, so I will be checking in an update to Geom Test.mcp with Windows targets. -- James W. Walker, ScriptPerfection Enterprises, Inc. <http://www.write-brain.com/> |
|
From: Jose' C. <cru...@ce...> - 2005-01-26 21:07:50
|
Il giorno 26/gen/05, alle 21:54, Roger Holmes ha scritto: > a single line function (OpaqueTQ3Object::IsObjectValid) into > an inline in the class definition. Is it OK to check this in or is > there a policy against in-lines? > nothing against if not exposed in the Quesa headers Pax et Bonum # dott. Jose' Cruanyes Aguilar - C.E. Soft srl # Pzza. Firenze,4 MILANO - XX Settembre 10, CREMONA # 02,33603122 0372,460602 |
|
From: Roger H. <rog...@mi...> - 2005-01-26 20:55:01
|
I have saved 3% on the speed of my renderer just by making a single line function (OpaqueTQ3Object::IsObjectValid) into an inline in the class definition. Is it OK to check this in or is there a policy against in-lines? Roger. |
|
From: James W. W. <ja...@wr...> - 2005-01-26 19:59:34
|
Jose' Cruanyes <cru...@ce...> wrote: >we have to go back to Dec-3-2005 as reference date for d20, >after that day we require a C++ compiler, and the changes for Unix >are not trivial, >and there's no need to backport them > >I'll update the unix build system for the current HEAD. The changes on 4 Dec 2004 were for compatibility with C++ compilation, but should if anything make C compilers happier too. I checked out the project as of 5 Dec 2004 and it compiles without error as C using CodeWarrior 8.3. It was on 6 Dec 2004 that we started really needing a C++ compiler. -- James W. Walker, ScriptPerfection Enterprises, Inc. <http://www.write-brain.com/> |
|
From: James W. W. <ja...@wr...> - 2005-01-26 19:45:02
|
Roger Holmes <rog...@mi...> wrote: >9.7% of the time in sqrt. I have switched my renderer to use std::sqrtf as >it only ever handle floats, never doubles. Hopefully will speed things up. Here's a quote from a recent thread on Apple's performance optimization mailing list: At 4:44 PM +0000 1/23/05, Jerry wrote: >>> This should be faster, since it need compute fewer >>> bits of precision, but it is still returning the correct result, >>> rounded to a float. >> >> On some architectures. On others the calculations will be in double >> precision and shortened to float on return. > >This is exactly what libmx does on OS X (try stepping into it in the >debugger), so switching to the "f" functions may actually slow you >down. Moral: Don't just hope, test. When Shark sees often-used square root operations, it suggests that if you don't need full precision, you can use a special PowerPC instruction, frsqrte, floating reciprocal square root estimate. I don't know if we want to get into platform-dependent optimizations though. >I think in the release version we are checking out inputs too often, >for instance >in E3Shared_Acquire we check the parameter is of type shared. We then call >Q3Shared_GetReference which again checks its parameter is of type shared. >It also calls E3System_Bottleneck even though we must have come into >E3Shared_Acquire from a Q3 routine which will have already called >E3System_Bottleneck. > >My question is this, can I change the call to Q3Shared_GetReference into a >call of E3Shared::GetReference (my preferred option) or can I remove the >check in E3Shared_Acquire or should I leave it alone? It's OK with me if you change the Q3Shared_GetReference to E3Shared::GetReference. As long as you're messing with E3Shared_Acquire, how about combining the two if (theObject != NULL) statements into one? >Can I apply you answer to all similar situations or should I ask every time? You may apply my answer in similar situations. -- James W. Walker, ScriptPerfection Enterprises, Inc. <http://www.write-brain.com/> |
|
From: Roger H. <rog...@mi...> - 2005-01-26 18:59:29
|
Firstly thanks to James for the clarification : > Unless you have a strategy for dealing with exceptions, and catching > them before they try to escape from the library, then use > new(std::nothrow), which is one of the standard versions of operator > new. I did already in e3fformat_3dmf_textreader_new. Secondly I have been running the old 'Sampler' tool on our application while it is refreshing the screen using the Microspot Renderer which of course uses Quesa. The list of where it spends most of its time is quite interesting. 9.7% of the time in sqrt. I have switched my renderer to use std::sqrtf as it only ever handle floats, never doubles. Hopefully will speed things up. 7.0% in one of my routines 6.2% in Q3Object_IsType 3.7% in OpaqueTQ3Object::GetClass 3.2% in another of my routines 3.0% in E3Object_IsType, so actually doing the work is quicker than Q3Object_IsType the glue routine above which checks parameters and calls us! 2.3% in OpqueTQ3Object::IsObjectValid 2.3% in E3ClassInfo::IsType I think in the release version we are checking out inputs too often, for instance in E3Shared_Acquire we check the parameter is of type shared. We then call Q3Shared_GetReference which again checks its parameter is of type shared. It also calls E3System_Bottleneck even though we must have come into E3Shared_Acquire from a Q3 routine which will have already called E3System_Bottleneck. My question is this, can I change the call to Q3Shared_GetReference into a call of E3Shared::GetReference (my preferred option) or can I remove the check in E3Shared_Acquire or should I leave it alone? Can I apply you answer to all similar situations or should I ask every time? Roger. |
|
From: James W. W. <os...@jw...> - 2005-01-26 16:51:33
|
On Jan 26, 2005, at 5:40 AM, Roger Holmes wrote: > Sorry to be so stupid, but do you mean use the default operator new or > provide > one myself or provide one with an extra parameter or use > new(std::nothrow) ? > >> I agree. If you provide a constructor, I think it's OK to use plain >> old operator new. Unless you have a strategy for dealing with exceptions, and catching them before they try to escape from the library, then use new(std::nothrow), which is one of the standard versions of operator new. I did already in e3fformat_3dmf_textreader_new. -- <http://www.jwwalker.com/> |
|
From: Roger H. <rog...@mi...> - 2005-01-26 13:40:48
|
Sorry to be so stupid, but do you mean use the default operator new or provide one myself or provide one with an extra parameter or use new(std::nothrow) ? > I agree. If you provide a constructor, I think it's OK to use plain > old operator new. |
|
From: James W. W. <os...@jw...> - 2005-01-26 07:57:06
|
On Jan 25, 2005, at 5:55 AM, Roger Holmes wrote: > It is the constructors I want to use, and I don't think there is any > way > of doing this without using this syntax. There is a way; look up "placement new". > I think I had better read the > latest information on "operator new", it seems to have become rather > more complicated than when I first learnt C++. I am looking for a way > to define an "operator new" which I can specify when I create my > objects > which can call Q3Memory_AllocateClear. For allocating the class info > objects I am not worried about the overhead of clearing the memory. > However, if we decide to use constructors for the objects themselves > then clearing the memory before we initialise it does seem inefficient. I agree. If you provide a constructor, I think it's OK to use plain old operator new. -- <http://www.jwwalker.com/> |
|
From: Jose' C. <cru...@ce...> - 2005-01-25 19:06:32
|
we have to go back to Dec-3-2005 as reference date for d20, after that day we require a C++ compiler, and the changes for Unix are not trivial, and there's no need to backport them I'll update the unix build system for the current HEAD. Pax et Bonum # dott. Jose' Cruanyes Aguilar - C.E. Soft srl # Pzza. Firenze,4 MILANO - XX Settembre 10, CREMONA # 02,33603122 0372,460602 |
|
From: Roger H. <rog...@mi...> - 2005-01-25 16:39:59
|
To improve on part of my suggestion earlier how about having in each
of the new classes an enum, something like:
enum
{
depth = <<<our parent class>> ::depth + 1 ,
classType = <<< our type >>>
} ;
so for E3Shared for instance :
enum
{
depth = OpaqueTQ3Object::depth + 1 ,
classType = kQ3ObjectTypeShared
} ;
> One possible optimisation would be to hold an array of 6 elements in
> the E3ClassInfo record. Six being the maximum
> depth of the built in class hierarchy. Then for example, a class such
> as Display Group, element zero would contain kQ3ObjectTypeRoot,
> element 1 would contains kQ3ObjectTypeShared,
> 2 = kQ3SharedTypeShape, 3 = kQ3ShapeTypeGroup,
> 4 = kQ3GroupTypeDisplay and 5 and 6 would be zero. There would
> also have to be something like an enum for each class giving
> its depth in the hierarchy. Following our example, there would be
> a kQ3GroupTypeDisplay_Depth which would be 4. Then where we
> current test again a constant class type such as kQ3GroupTypeDisplay
> we could instead call a macro , something like
>
> OBJECT_IS_CLASS ( theObject, kQ3GroupTypeDisplay )
This becomes
OBJECT_IS_CLASS ( theObject , E3DisplayGroup )
>
> which would expand to be
>
> ( (theObject)->IsClass ( kQ3GroupTypeDisplay ,
> kQ3GroupTypeDisplay_Depth ) )
( (theObject)->IsClass ( E3DisplayGroup::classType ,
E3DisplayGroup::depth ) )
>
> and OpaqueTQ3Object::IsClass would be an inline which would do this
>
> return theClass->typesArray [ depth ] == classType ;
>
> As in the inline, 'depth' would be a constant, this should optimise out
> as a simple test against a value at fixed offset in the class record.
>
> If it were not of the correct type, then either the entry would be the
> class type of another type, or zero if the object were of a type at
> a lower depth in the class hierarchy.
>
> Of course you will be thinking about user defined classes, but we never
> need to test against them as constants, the existing code would be
> used.
>
> Anyone see any holes in this proposal?
>
>
The rest is the same.
Roger.
|
|
From: Roger H. <rog...@mi...> - 2005-01-25 13:56:13
|
Thanks for all your feedback on this, and thanks for fixing the dump code. I had realised the memory would not be cleared and that if they existed, a whole hierarchy of void constructors could be called which could either clear their data or hopefully set it to a more useful value. It is the constructors I want to use, and I don't think there is any way of doing this without using this syntax. I think I had better read the latest information on "operator new", it seems to have become rather more complicated than when I first learnt C++. I am looking for a way to define an "operator new" which I can specify when I create my objects which can call Q3Memory_AllocateClear. For allocating the class info objects I am not worried about the overhead of clearing the memory. However, if we decide to use constructors for the objects themselves then clearing the memory before we initialise it does seem inefficient. Anyone had a chance to check the speed of the new version yet? We see up to 19% in some cases, though nothing at all in others. I have been running the old 'Sampler' tool on it as 'Shark' does not seem to work properly in my configuration. I find it is spending a lot of time checking that object are of the correct type so maybe I should concentrate on that. One possible optimisation would be to hold an array of 6 elements in the E3ClassInfo record. Six being the maximum depth of the built in class hierarchy. Then for example, a class such as Display Group, element zero would contain kQ3ObjectTypeRoot, element 1 would contains kQ3ObjectTypeShared, 2 = kQ3SharedTypeShape, 3 = kQ3ShapeTypeGroup, 4 = kQ3GroupTypeDisplay and 5 and 6 would be zero. There would also have to be something like an enum for each class giving its depth in the hierarchy. Following our example, there would be a kQ3GroupTypeDisplay_Depth which would be 4. Then where we current test again a constant class type such as kQ3GroupTypeDisplay we could instead call a macro , something like OBJECT_IS_CLASS ( theObject, kQ3GroupTypeDisplay ) which would expand to be ( (theObject)->IsClass ( kQ3GroupTypeDisplay , kQ3GroupTypeDisplay_Depth ) ) and OpaqueTQ3Object::IsClass would be an inline which would do this return theClass->typesArray [ depth ] == classType ; As in the inline, 'depth' would be a constant, this should optimise out as a simple test against a value at fixed offset in the class record. If it were not of the correct type, then either the entry would be the class type of another type, or zero if the object were of a type at a lower depth in the class hierarchy. Of course you will be thinking about user defined classes, but we never need to test against them as constants, the existing code would be used. Anyone see any holes in this proposal? Roger. On Monday, January 24, 2005, at 06:41 pm, James W. Walker wrote: > At 1:23 PM +0000 1/24/05, Roger Holmes wrote: > >> For my remaining 'slack' time I would like your opinions on the >> possible use of C++ memory >> allocation and construction facilities. On Macintosh I think that >> using statements like: >> >> E3ClassInfo* theInfo = new E3ClassInfo ; >> >> E3ClassInfo* theClass = (E3ClassInfo*) Q3Memory_AllocateClear ( >> sizeof ( E3ClassInfo ) ) ; >> >> are (except for the zeroing of the block of memory) equivalent as >> they both end up calling >> malloc to actually reserve the memory. Am I correct, and what is the >> situation on the other >> platforms? > > When compiled with Q3_MEMORY_DEBUG, E3Memory_AllocateClear uses a > block trailer to test for buffer overruns. Exactly what operator new > does on the Mac with CodeWarrior depends on whether we're talking CFM > or Mach-O, and what options were used to compile the runtime library. > The default on Mach-O is that operator new calls malloc. > > Also bear in mind that E3ClassInfo* theInfo = new E3ClassInfo ; would > throw an exception if the allocation fails, unless you write it as > E3ClassInfo* theInfo = new(std::nothrow) E3ClassInfo ; > -- > James W. Walker On Monday, January 24, 2005, at 07:40 pm, Joseph J. Strout wrote: > At 11:26 AM -0800 1/24/05, James W. Walker wrote: > >> When compiled with Q3_MEMORY_DEBUG, E3Memory_AllocateClear uses a >> block trailer to test for buffer overruns. Exactly what operator new >> does on the Mac with CodeWarrior depends on whether we're talking CFM >> or Mach-O, and what options were used to compile the runtime library. >> The default on Mach-O is that operator new calls malloc. > > It also depends on whether someone has added a custom new operator in > the appropriate namespace -- something you'd think we have control > over, but also something very easy to miss when reading the code. > >> Also bear in mind that E3ClassInfo* theInfo = new E3ClassInfo ; would >> throw an exception if the allocation fails, unless you write it as >> E3ClassInfo* theInfo = new(std::nothrow) E3ClassInfo ; > > Yes, though this also depends on compiler options. > > For all those reasons, I think it's better to call > Q3Memory_AllocateClear. > > Best, > - Joe On Monday, January 24, 2005, at 08:13 pm, Lane Roathe wrote: > on Mon, Jan 24, 2005 Roger Holmes may have said: > >> For my remaining 'slack' time I would like your opinions on the >> possible use of C++ memory >> allocation and construction facilities. On Macintosh I think that >> using >> statements like: >> >> E3ClassInfo* theInfo = new E3ClassInfo ; >> >> E3ClassInfo* theClass = (E3ClassInfo*) Q3Memory_AllocateClear ( sizeof >> ( E3ClassInfo ) ) ; >> >> are (except for the zeroing of the block of memory) equivalent as they >> both end up calling >> malloc to actually reserve the memory. Am I correct, and what is the >> situation on the other >> platforms? > > Actually, after a bit of thought I do not believe these are the same: > > new - get a chunk of memory via some unknown allocator. > > AllocateClear - get a chunk of memory via a known allocator, and CLEAR > it > (ie, memset(p,0,size) of similar), plus whatever mem debugging may be > going on. > > > > Lane Roathe |
|
From: Jose' C. <cru...@ce...> - 2005-01-24 21:46:14
|
Il giorno 24/gen/05, alle 20:43, Joseph J. Strout ha scritto: > At 11:26 AM -0800 1/24/05, James W. Walker wrote: > >>> I'm willing to put some effort into making a Mac build good enough >>> to call official 1.6d20 -- is anyone willing to do the same for >>> Windows and Unix? >> >> I can compile and test for Windows with CodeWarrior. > > This is starting to sound like a good idea. To recap: we'll fetch the > CVS source as it was on Jan 1, 2005, and make official builds for Mac > and Windows at least. For Unix/Linux, a pre-built library may not > make much sense, but a proper Unix package that you can configure and > make would be appropriate. > > Any volunteers to prepare such a package? Who did it for 1.6d19? I'm mantaining it for a while now, I'll do it now too > > Then, we just have to hope that all the changes between d18 and d20 > are actually improvements, or at least, not making things worse -- if > some things got worse in that time, then I guess it'll be up to each > application developer to choose which one is better for their app. in my use it has continually improved Pax et Bonum # dott. Jose' Cruanyes Aguilar - C.E. Soft srl # Pzza. Firenze,4 MILANO - XX Settembre 10, CREMONA # 02,33603122 0372,460602 |
|
From: Lane R. <la...@if...> - 2005-01-24 20:21:48
|
on Mon, Jan 24, 2005 Roger Holmes may have said: >For my remaining 'slack' time I would like your opinions on the >possible use of C++ memory >allocation and construction facilities. On Macintosh I think that using >statements like: > > E3ClassInfo* theInfo = new E3ClassInfo ; > >E3ClassInfo* theClass = (E3ClassInfo*) Q3Memory_AllocateClear ( sizeof >( E3ClassInfo ) ) ; > >are (except for the zeroing of the block of memory) equivalent as they >both end up calling >malloc to actually reserve the memory. Am I correct, and what is the >situation on the other >platforms? Actually, after a bit of thought I do not believe these are the same: new - get a chunk of memory via some unknown allocator. AllocateClear - get a chunk of memory via a known allocator, and CLEAR it (ie, memset(p,0,size) of similar), plus whatever mem debugging may be going on. Lane Roathe President Ideas From the Deep <http://www.ifd.com> ___________________________________________________________________ If we aren't supposed to eat animals, why are they made with meat? |
|
From: James W. W. <ja...@wr...> - 2005-01-24 19:50:00
|
Roger Holmes <rog...@mi...> wrote: >I suspect the problem with the 'Dump' code has sorted itself out, but could >this be checked too please. It was not entirely sorted out, but I've checked in a fix. -- James W. Walker, ScriptPerfection Enterprises, Inc. <http://www.write-brain.com/> |
|
From: Joseph J. S. <jo...@st...> - 2005-01-24 19:48:45
|
At 11:26 AM -0800 1/24/05, James W. Walker wrote: >>I'm willing to put some effort into making a Mac build good enough >>to call official 1.6d20 -- is anyone willing to do the same for >>Windows and Unix? > >I can compile and test for Windows with CodeWarrior. This is starting to sound like a good idea. To recap: we'll fetch the CVS source as it was on Jan 1, 2005, and make official builds for Mac and Windows at least. For Unix/Linux, a pre-built library may not make much sense, but a proper Unix package that you can configure and make would be appropriate. Any volunteers to prepare such a package? Who did it for 1.6d19? Then, we just have to hope that all the changes between d18 and d20 are actually improvements, or at least, not making things worse -- if some things got worse in that time, then I guess it'll be up to each application developer to choose which one is better for their app. Best, - Joe -- ,------------------------------------------------------------------. | Joseph J. Strout Check out the Mac Web Directory: | | jo...@st... http://www.macwebdir.com/ | `------------------------------------------------------------------' |
|
From: Joseph J. S. <jo...@st...> - 2005-01-24 19:48:42
|
At 11:26 AM -0800 1/24/05, James W. Walker wrote: >When compiled with Q3_MEMORY_DEBUG, E3Memory_AllocateClear uses a >block trailer to test for buffer overruns. Exactly what operator >new does on the Mac with CodeWarrior depends on whether we're >talking CFM or Mach-O, and what options were used to compile the >runtime library. The default on Mach-O is that operator new calls >malloc. It also depends on whether someone has added a custom new operator in the appropriate namespace -- something you'd think we have control over, but also something very easy to miss when reading the code. >Also bear in mind that E3ClassInfo* theInfo = new E3ClassInfo ; >would throw an exception if the allocation fails, unless you write >it as >E3ClassInfo* theInfo = new(std::nothrow) E3ClassInfo ; Yes, though this also depends on compiler options. For all those reasons, I think it's better to call Q3Memory_AllocateClear. Best, - Joe -- ,------------------------------------------------------------------. | Joseph J. Strout Check out the Mac Web Directory: | | jo...@st... http://www.macwebdir.com/ | `------------------------------------------------------------------' |
|
From: James W. W. <ja...@wr...> - 2005-01-24 18:41:37
|
At 1:23 PM +0000 1/24/05, Roger Holmes wrote: >For my remaining 'slack' time I would like your opinions on the >possible use of C++ memory >allocation and construction facilities. On Macintosh I think that >using statements like: > > E3ClassInfo* theInfo = new E3ClassInfo ; > >E3ClassInfo* theClass = (E3ClassInfo*) Q3Memory_AllocateClear ( >sizeof ( E3ClassInfo ) ) ; > >are (except for the zeroing of the block of memory) equivalent as >they both end up calling >malloc to actually reserve the memory. Am I correct, and what is the >situation on the other >platforms? When compiled with Q3_MEMORY_DEBUG, E3Memory_AllocateClear uses a block trailer to test for buffer overruns. Exactly what operator new does on the Mac with CodeWarrior depends on whether we're talking CFM or Mach-O, and what options were used to compile the runtime library. The default on Mach-O is that operator new calls malloc. Also bear in mind that E3ClassInfo* theInfo = new E3ClassInfo ; would throw an exception if the allocation fails, unless you write it as E3ClassInfo* theInfo = new(std::nothrow) E3ClassInfo ; -- James W. Walker, ScriptPerfection Enterprises, Inc. <http://www.write-brain.com/> |
|
From: James W. W. <ja...@wr...> - 2005-01-24 18:12:29
|
"Joseph J. Strout" <jo...@st...> wrote: >I'm willing to put some effort into making a Mac build good enough >to call official 1.6d20 -- is anyone willing to do the same for >Windows and Unix? I can compile and test for Windows with CodeWarrior. -- James W. Walker, ScriptPerfection Enterprises, Inc. <http://www.write-brain.com/> |
|
From: Lane R. <la...@if...> - 2005-01-24 18:09:31
|
on Mon, Jan 24, 2005 Joseph J. Strout may have said: >I'm willing to put some effort into making a Mac build good enough to >call official 1.6d20 -- is anyone willing to do the same for Windows >and Unix? I can build the Windows version, but can only test it somewhat. Lane Roathe President Ideas From the Deep <http://www.ifd.com> ___________________________________________________________________ Life is cheap, but the accessories will break you. |
|
From: Joseph J. S. <jo...@st...> - 2005-01-24 14:58:16
|
At 10:39 PM +0100 1/23/05, Jose' Cruanyes wrote: >the 1.6d19 tarball on source forge is a unix release (the original >d18 was broken) Ah, so let me make sure I understand: d18 didn't work on Unix, and we needed to put out something that *would* work on Unix, but the source had changed at that point, so we called it d19. But we never posted Mac/Windows versions of d19, as d18 was working for them. Is that about right? >if you want to buils a release I suggest to get a CVS for date Jan,1 >2005 and call the relase 1.6d20 That's not a bad idea. By the open-source mantra of "release early, release often," this might be good all around -- it would also give us a nice recent reference version, for comparing against the new C++ version. I'm willing to put some effort into making a Mac build good enough to call official 1.6d20 -- is anyone willing to do the same for Windows and Unix? Best, - Joe -- ,------------------------------------------------------------------. | Joseph J. Strout Check out the Mac Web Directory: | | jo...@st... http://www.macwebdir.com/ | `------------------------------------------------------------------' |
|
From: Joseph J. S. <jo...@st...> - 2005-01-24 14:48:34
|
At 1:02 PM -0800 1/23/05, James W. Walker wrote: >I don't know why you say "of course won't mount on my 10.3.7 >machine". Why wouldn't a disk image mount? Because I want it to, therefore, by Murphy's Law, it wouldn't do so. >I've always used the OS 9-compatible OpenGL SDK, ><ftp://ftp.apple.com/developer/opengl/SDK/OpenGL_SDK_1.2.img.bin>. Ah, that's a neat trick -- I had supposed I needed the newer one to make a library that runs properly on OS X. But if that SDK works for both, so much the better. Thanks, - Joe -- ,------------------------------------------------------------------. | Joseph J. Strout Check out the Mac Web Directory: | | jo...@st... http://www.macwebdir.com/ | `------------------------------------------------------------------' |