yep changing the texture image to a power2 512 X 512 square solved the problem. I didn't know I could stretch a mapped texture like that and still have it look right, so thanks for that bit of knowledge! Peter Stromberg's wave demo posted in this forum has a function in it that takes any bitmap input and makes a power2 square out of it. If I understand correctly, the square image thing has to do with how the hardware handles things. It might make sense to have a utility function like that in the parser if it requires square bitmap data to work with?
On May 16, 2:28 am, richardolsson <[email protected]> wrote: > A couple of pointers: > > 1) You should be able to set (or modify) the material either on > ASSET_COMPLETE or RESOURCE_COMPLETE. So there you should be able to > set the mipmap property. Currently some parsers have the problem that > they return a mesh (via ASSET_COMPLETE) even before it's material has > been finalized. If that's the case with OBJParser (I can't remember > right now) then there might be a problem with doing it on > ASSET_COMPLETE, but you should be able to do it on RESOURCE_COMPLETE. > > 2) UV coordinates are relative, so as long as you're not changing the > crop box of the texture, you can change it's dimensions all you want > and it will still work. Just try it. Use "Resize Image" (not "Resize > Canvas") in Photoshop and scale it up to 1024x1024 (or preferably > something smaller like 512x512 for the sake of saving memory.) You'll > see that there is no visible difference once mapped to a 3D object. > > Cheers > /R > > On May 16, 9:04 am, Choons <[email protected]> wrote: > > > > > > > > > Hi Richard - I'm still using this approach since it's so clean: > > > AssetLibrary.enableParser(OBJParser); > > AssetLibrary.addEventListener(AssetEvent.ASSET_COMPLETE, > > onLoadComplete); > > AssetLibrary.load(new URLRequest("../some.obj")); > > > onLoadComplete(event : AssetEvent):void { > > if (event.asset.assetType == AssetType.MESH) { > > mesh = event.asset as Mesh; > > } > > > } > > > I'm not even declaring any material since it will automatically get it > > from the mtl and the image file it references and assign it to the > > mesh. That's brilliant how that works, but then there is apparently no > > way to set the mipmap property to false? The textures are already UV > > mapped so I don't want to change their dimensions. The code above > > worked very well with a different very complex OBJ model, mtl and > > image file so I know it does work. I guess the question is how to > > access the material properties when taking this approach. > > > On May 16, 1:33 am, richardolsson <[email protected]> wrote: > > > > Bitmaps should be recognized and if they are not then that's a bug > > > that i will fix. Thanks for letting us know! > > > > The texture error I'm not sure about, but have you tried with a square > > > texture, or disabling mipmapping on the material before the first > > > render()? > > > > /R > > > > On May 16, 6:38 am, Choons <[email protected]> wrote: > > > > > So I have been trying to get Broomstick to load some old obj/mtl files > > > > from CB Model Pro. First I was getting 'unable to load mtl' errors > > > > until Richard told me I should use the GitHub build. Did that, and the > > > > load error went away, but then I was getting Error #2044: Unhandled > > > > IOErrorEvent:. text=Error #2124: Loaded file is an unknown type. > > > > Looking at the mtl and texture file I noticed it uses a .bmp texture > > > > which I thought may be the issue, so I saved a jpg version of the bmp > > > > texture and changed the mtl to reference that instead. Now I'm getting > > > > Error #3700: A texture sampler binds an incomplete texture. Looking > > > > around on the forum here I see it might be mipmap or power2 issue. The > > > > jpg version of the texture is 256 X 1024 so that's power2 but not > > > > square so don't know if that's a problem. Anyone had/solved this kind > > > > of problem?
