Commit Graph

  • 660d99de18 Fix problem when terrain mesh was not output with the scene. Add all assimp scene optimization parameters in parameter list. Add listing of all possible parameters in command line invocation errors. Robert Adams 2017-12-31 09:54:32 -08:00
  • 519d4bf16c Redo parameter definition so parameters are specified only in one place. Add parameters for Assimp post-processing. Robert Adams 2017-12-29 11:11:18 -08:00
  • 1f27de58bb Fix problem with images not inheriting UUID name from OpenSim texture. Add GetUUID() to EntityHandle. Deal with non-UUID handles later. Add code for 'SubRegion' parameter. Correct runtime error for mis-defintion of 'SubRegion' parameter. Remove old code in PrimToMesh.cs. Robert Adams 2017-12-29 09:26:30 -08:00
  • b00b82cceb Merge branch 'master' of github.com:Misterblue/convoar Robert Adams 2017-12-28 19:01:09 -08:00
  • c37c96e415 Update Assimp and AssimpNet libraries. Robert Adams 2017-12-28 19:00:35 -08:00
  • 8f4c023d52 Fix directory selection in buildAssimpNet.sh Robert Adams 2017-12-28 18:59:51 -08:00
  • 707476878a Parameterize the run.sh script. Robert Adams 2017-12-28 18:56:37 -08:00
  • baff259251 Copy 'baseDirectory' when cloning a persist object. Robert Adams 2017-12-28 18:55:04 -08:00
  • 0a39716c3b Correct spelling of 'SubRegion' parameter. Robert Adams 2017-12-28 18:54:39 -08:00
  • fed5206610 Add script for building AssimpNet since it requires library copying and renaming. Robert Adams 2017-12-28 18:53:43 -08:00
  • a493c62515 Dockerfile for building convoar. Robert Adams 2017-12-21 07:01:09 -08:00
  • e84f93c7bb Some changes for specifying the output format. Update the Assimp and AssimpNet binary files. devel Robert Adams 2017-12-17 21:10:59 -08:00
  • ff80b3b10e Many tweeks to get the GLTF export working. Robert Adams 2017-12-12 16:56:48 -08:00
  • 61f519d15c 80% of conversion using Assimp working. Includes binary versions of Assimp and AssimpNet. Robert Adams 2017-12-12 07:35:10 -08:00
  • bf910081fd Fix problem of missing comma in GLTF2 if there is a material Robert Adams 2017-07-28 21:21:19 -07:00
  • 5244897a52 Fix GLTFv2 scene specificiation being a number and not a name. Add parameter and functionality 'addUniqueCodes' (hash codes for meshes). Fix problem with materials not appearing in GltfPrimitives. Fix MaterialInfo.GetBHash() to return a hash that is deterministic for the material. Improve some JSON output formatting. Robert Adams 2017-07-28 17:10:23 -07:00
  • 87455ddd99 Add --exportIndividualGltf option and functionality. Add hashing to RenderableMesh. Rework GltfAsset so it is just a collection of key/value pairs. Change hash on GltfMesh to SHA256 to generate a better unique code. Change hashing on GltfPrimitive to be the same as the underlying RenderableMesh. Make most of the sections in output'ed Gltf optional (don't output if empty). Remove definition of unused parameters. Remove compile warnings. Robert Adams 2017-07-28 11:15:24 -07:00
  • 16dc8d8989 Reorganize GltfMaterial for both V1 and V2. Give up on v2 for the moment as material common v2 spec is in flux. Change extensions from .gltf2 to .gltf (as per spec). Change image sub-directory from 'image' to 'images' because it is typical. Remove some chatty debug messages. Robert Adams 2017-07-26 12:36:40 -07:00
  • e8a5858266 Add 'DoubleSided' parameter that adds same attribute to common material output. Robert Adams 2017-07-25 13:44:13 -07:00
  • 64417bfc65 Add Dictionary to CreateJSONValue so recursive values are output. Robert Adams 2017-07-25 11:54:11 -07:00
  • 35a3a68323 Intermediate version with most of GLTFv2 implemented. Still something wrong with materials. Robert Adams 2017-07-18 19:08:43 -07:00
  • e0cf1b145a Add region name to output buff filenames so multiple regions can be in one directory. Add checks so ImageInfo.image can be null if there are problems converting same. Robert Adams 2017-07-14 18:30:25 -07:00
  • b64b51b9a3 Add code and lookup for resizing images and looking them up. Code in GLTF to use loader resolution images if specified. GltfMaterial creation checks for the reduced resolution images and replaces the material image. MaterialInfo how holds pointer to ImageInfo rather than just the Handle. Gltf only writes out the images referenced in the Gltf scene. Remove unused code. Robert Adams 2017-07-14 17:42:38 -07:00
  • d6a4f83367 Update OpenSImulators to the latest version Robert Adams 2017-07-14 12:27:42 -07:00
  • b814254cb4 Updated libOpenMetaverse libraries to latest Robert Adams 2017-07-14 12:26:22 -07:00
  • 048ff2e551 Move Gltf image information creation into the material creation routine so images that get listed are the ones that are in the loaded scene. Robert Adams 2017-07-11 20:50:42 -07:00
  • 793efaed1d Add ToString() function to ImageInfo for debugging output. Robert Adams 2017-07-11 20:50:10 -07:00
  • 7d4bc0b518 Intermediate work on persistance Robert Adams 2017-07-10 19:02:14 -07:00
  • 94be0c3adc Start modification of persist class and its usage for multiple targets and directories. Not functional yet. Remove commented out and unused code. Robert Adams 2017-07-08 19:11:52 -07:00
  • f8bd2b3853 Reorganize main code so ConvOAR operations are callable programmatically. Change command line invocation to use new programatic functions. Robert Adams 2017-07-08 11:46:15 -07:00
  • bc82147d49 Redo the logic for building meshes and finding duplicate Displayables. Robert Adams 2017-07-08 08:06:22 -07:00
  • 0195c7f62e MeshInfo: add constructor that takes an existing MeshInfo. Robert Adams 2017-07-08 08:05:18 -07:00
  • e38a37cbb4 Error printing logic to display missing packages on ReflectionTypeLoadException. Robert Adams 2017-07-08 08:03:58 -07:00
  • 6080f644fe Add an informative ToString() to MaterialInfo for debugging dumps. Robert Adams 2017-07-08 08:03:09 -07:00
  • 2fc82a845a Add GetBHash() to DisplayableRenderable that is the combination of the contained meshes and materials. Robert Adams 2017-07-08 08:02:05 -07:00
  • ac723b1de2 New method on BHasher to Add(BHash) for creating compound hashes. Robert Adams 2017-07-08 07:58:28 -07:00
  • 5085a8d76a Add 'None' entries to convoar.csproj to copy openjpeg files to output directory. Robert Adams 2017-07-07 22:37:16 -07:00
  • c8732ab085 Move all the dependent libraries into the libs/ directory. Script 'gatherLibs.sh' copies libs from other repositories to libs. Update convoar.csproj to point to libraries in local repository. The only libs not handled are the openjpeg ones. Robert Adams 2017-07-07 22:22:33 -07:00
  • d91f9887a6 Add updated version of PrimMesher from https://github.com/Misterblue/PrimMesher Robert Adams 2017-07-06 10:13:04 -07:00
  • d8a3f4be80 Add some argument verification to BHasher. Robert Adams 2017-07-06 10:12:07 -07:00
  • 82c96951f4 Add feature of adding a 'no' in the front of boolean parameters to have the parameter turn off the option. Robert Adams 2017-07-02 11:44:02 -07:00
  • 4fdbbe41d0 Check for WHITE_TEXTURE in GltfMaterial to eliminate a bunch of errors. For the moment, enable DoubleSided rendering specification. Robert Adams 2017-07-01 20:59:42 -07:00
  • ed54700e15 Invert UV coord when changing coordinate systems from SL to GLTF. Change RenderableMesh so it has pointers to the mesh and material rather than just the handles to them. Saves a lookup in AssetFetcher. Robert Adams 2017-07-01 15:07:41 -07:00
  • 5871f9a7d9 Extend edges of terrain mesh so it covers the whole area from 0..size. Robert Adams 2017-07-01 13:48:31 -07:00
  • 50456ffbdd Change the extension of the image files from 'jpeg' to 'jpg'. Robert Adams 2017-07-01 12:44:49 -07:00
  • 1486cd76a0 Some line ending fixes. Robert Adams 2017-07-01 08:39:14 -07:00
  • abeed3ab87 Pass image transparancy to serializer for proper selection between PNG and JPG. Remove some debugging prints. Robert Adams 2017-07-01 08:03:17 -07:00
  • 356b59e23d Properly convert coordinate system from OpenSImulator to OpenGL. Robert Adams 2017-07-01 07:40:43 -07:00
  • 6fefec5002 Fix linkages for images so they are loaded and display. Robert Adams 2017-07-01 07:05:51 -07:00
  • f9803caae6 Add Displayables collection in AssetFetcher. Fix bad naming of generated terrain mesh. How has name and UUID. Remove IDisposable from PrimMesher as it is not really needed and can create problems with promise threading (block finishing before all the callbacks). Add EntityHandle handle to Displayable. Change GetHash() to GetBHash() everywhere to make clear whether using my hasher or the System's hasher. Add GetBHash() to a lot of Displayable objects for unique collections. Change GltfClasses collections from List<T> to Dictionary<BHash, T>. Add static Gltf*Factory to most of the GltfClasses to keep collections of unique type. Change most all references to 'new Gltf*' into 'Gltf*Factory'. Change GltfMesh from having one GltfPrimitive to having a list. Change GltfNode to have only one GltfMesh in preparation for conversion to GltfV2. Robert Adams 2017-07-01 06:35:33 -07:00
  • 9475a3340f Add the terrain to the built BInstance scene. Robert Adams 2017-06-30 08:02:49 -07:00
  • 0870fd9424 Part way through moving prim mesnes from GLTFv1 node meshes to GLTF2 mesh primitives. Robert Adams 2017-06-30 07:28:20 -07:00
  • 55b7b2479a Add BInstance dumper and generate a lot more debug output. Fix logic in Logger when setting verbose. Set default log level to DEBUG since setting the log4net parameter programmatically isn't working for me. Robert Adams 2017-06-29 18:19:41 -07:00
  • 823d02a95c Simplify some syntax (pattern matching) based on Visual Studio suggestions. Robert Adams 2017-06-29 06:56:40 -07:00
  • 5204a41244 Since region name is not in the OAR file, add parameter to set it or, if not specified, extract it from the OAR filename. Robert Adams 2017-06-29 06:45:03 -07:00
  • 1421909977 Change all line endings to UNIX form. Robert Adams 2017-06-29 06:16:51 -07:00
  • 4f6ba75f13 Add 'pragma warning disable 414' around _logHeader to remove warnings when debugging log messages are commented out. Fix promise within a promise exception problem when creating meshes. Fix parameter processing bug where boolean settings (like --verbose) weren't getting set to 'true'. Add '--logBuilding' parameter to output detailed progress building instances. Robert Adams 2017-06-29 06:15:48 -07:00
  • bdc7167d81 Remove unused code in Logger. Remove passing of GlobalContext to ConvoarStats. Robert Adams 2017-06-28 06:09:33 -07:00
  • 9369546f1d Add parameters for logging detail building. Not implmented yet. Set default logging level to INFO. If '--verbose' is a parameter, force DEBUG logging level. Fix a bunch of line ending problems. Robert Adams 2017-06-28 06:04:54 -07:00
  • 8c34bbcd93 Debugging the creation and writing of Gltf data. Moved PersistRules to be in the Gltf classes. Robert Adams 2017-06-27 22:23:56 -07:00
  • fea705c3de Complete conversion of GltfClasses to BInstance form. Add code to load BScene into Gltf classes. Add invocation of Gltf conversion in ConvOAR. Convert several of the functions in PrimToMesh to Promises since they are async. Changed AssetFetcher.GetRenderable to a Promise since the builder can be an sync process. Same is true of the renderable builder delegate. Correct creation of instanceList in BConvertOS. It was just exiting for some reason. Robert Adams 2017-06-27 18:18:30 -07:00
  • 3acb4fb08f Start conversion of GltfClasses for new BInstance form. Compile errors. Add class EntityHandleUUID to make clear the type of handle being used. Update references to EntityHandle to use UUID type if required. Add water height to BScene attributes. Add hasScripts to BInstance attributes. Robert Adams 2017-06-27 07:36:42 -07:00
  • a83f5f0c1e Removed parameter for selection which JPEG2000 converter to use and rely on OpenJPEG module. Move all OAR to BScene conversion routines into BConverterOS to put all OS stuff in one place. Moved come JSON common routines into JSONHelpers.cs. Removed a lot of passing around GlobalContext are rely on static instance. Remove 'positionParentRelative' from Displayable since it is always parent relative. Add BScene.cs and populate it with info from RegionInfo. Add BAttributes.cs as a way of passing random OS information through to the output serializers. Robert Adams 2017-06-26 17:15:43 -07:00
  • af04130a72 Add BCoordinates.cs file. It is not linked into anything yet. Robert Adams 2017-06-23 06:32:49 -07:00
  • 4695ddb019 Remove EntityGroup.cs which is what was changed away from. Remove references to old EntityGroup code. Start modifications to GltfClassses for Displayables. Stop passing GlobalContext around and create static ConvOAR.Globals. Robert Adams 2017-06-23 06:32:15 -07:00
  • 60ddee3d5f Add the openjpeg libraries. They don't work as 'references' but they must be copied into the target bin directory. Robert Adams 2017-06-22 20:06:54 -07:00
  • 58eebf8ebe Return Displayable from converter. This makes Displayable congruent to a SOP and the DIsplayableREnderable being the shareable object. Robert Adams 2017-06-22 20:05:15 -07:00
  • 9ebb5cedc4 Rename BasilAssets.cs to AssetFetcher.cs. Update references to AssetFetcher. Move mesh scaling into PrimMesher and update places that need to scale meshes. Robert Adams 2017-06-22 10:46:16 -07:00
  • efd3f6b60c Rename BasilAssets.cs to AssetFetcher.cs Rename BasilTerrain.cs to ConvoarTerrain.cs Update references to new terrain class name. Robert Adams 2017-06-21 17:16:32 -07:00
  • 25402ef5fc Add test for parameter parsing. Debug parameter parsing. Make parameter parsing smarter about boolean parameters. Robert Adams 2017-06-21 17:10:48 -07:00
  • e8eeff35d5 Fix bug in BHasher where passing a sub-buffer. Add test for BHasher passing one buffer vs sub-buffers to give same results. Fixes so all tests pass. Robert Adams 2017-06-21 10:59:59 -07:00
  • ba6c151fbf Assorted hacking to get tests to work. The terrain size one doesn't work yet. Robert Adams 2017-06-20 23:00:57 -07:00
  • c7688515e0 Added store operations to IAssetFetcher. Added store and load asset operations for images to IAssetFetcher. Converted Terrain generation to Displayables. Added parameters for this app's creator ID. Completed code for PrimMesher -- conversion of prims to Displayables. Robert Adams 2017-06-19 18:00:54 -07:00
  • 074b8460b1 Completion of coding for converting SOGs to Displayables. Not debugged. Added parameters for different file formats for images with and without transparency. Much more complete ImageInfo and MaterialInfo. Robert Adams 2017-06-18 22:48:09 -07:00
  • afd4f541c3 Added BInstance. Corrected the interfaces to BHasher and BHash. Much refactoring on the conversion from EntityGroup to Displayable. Added stubs for BHasher tests. Robert Adams 2017-06-17 21:55:47 -07:00
  • 037cd6732b Part way through conversion from Entities to Displayables. Added Renderables, MeshInfo, MaterialInfo, and ImageInfo and dictionaries for same in IAssetFetcher. Robert Adams 2017-06-17 12:00:10 -07:00
  • d34e313012 Fix line endings in Displayable. Robert Adams 2017-06-17 10:04:59 -07:00
  • d145674869 Create Displayable class and get ready to do conversion from EntityGroups to Displayables. Robert Adams 2017-06-17 09:52:18 -07:00
  • 3cb3b32a3b Start filling out some of the tests. None working yet. Robert Adams 2017-06-17 09:51:21 -07:00
  • 608028f762 Add the skelton for unit tests. Robert Adams 2017-06-16 21:01:23 -07:00
  • 8d5c177205 rearranging code and making things compile. Just before separating entities from instances. Robert Adams 2017-06-15 22:43:57 -07:00
  • 88d609cc0b Add a bunch of conversion files from BasilOS. Add THIRDPARTYLICENSE and licenses from many a source. Add DLLs for Promise library. Robert Adams 2017-06-14 22:04:59 -07:00
  • 31f6eab8a8 Update README file. Robert Adams 2017-06-11 12:05:04 -07:00
  • a6754cd9f9 Add the test/ directory to .gitignore so that doesn't get checked in. Robert Adams 2017-06-10 15:50:42 -07:00
  • 52e7b621c1 Add initial source files Robert Adams 2017-06-10 15:50:31 -07:00
  • 080491e0b9 Initial commit Robert 2017-06-10 14:49:53 -07:00