I've decided to release a version of 3D Canvas with new features prior to the ".NET" version. This means that the ".NET" version of 3D Canvas will be released as 3D Canvas 7.5.
I'll use this topic to give information on my progress with 3D Canvas 7.2.
Today I spent much of the day re-writing from scratch the texture application functions. They were a convoluted mess that I wrote in the first days of 3D Canvas development. I'm about 50% done the re-writing of the functions. I probably have another day's work on them. After that, I'll integrate them, removing the old functions. I have to be careful not to break re-application of material operations.
The reason I'm re-writing this is partly because I've wanted to re-write them for ages, but mostly because I need a faster version for a planned upcoming enhancement. If it actually works, I'll let you know what it is.
I've been working on quite a variety of things all at once these past few days.
I managed to finish a new feature that allows different views to have different render modes. In the sample I have Solid Outline mode for my perspective view, and Wireframe for my orthographic view.
The default for orthographic views will now be wireframe, but you can change it to whatever works for you.
How objects are rendered can now be chosen on an object by object basis. So, for example, you could have a view rendering smooth, but have an object rendering Solid Outline.
The nice thing is that all the upcoming enhancements are related to improvements in the fundamentals of how 3D Canvas does things. It's a redevelopment... with visible benefits! Most of my redevelopment over the past few years haven't had any visible benefits. I like this kind much more.
The latest features is "Display as Box", which allows you to display an object as a box. There are lots of reasons you might want to do this. The most obvious is that it is very complex and caues modelling to slow down. Other reasons, include that it obscures things in the scene. You could conceivably display it as a box, and then have it render wireframe. That way you know where it is, but it isn't really "in the way".
In this example, I have a sphere rendering as a box.
This release will no longer have a "render points" mode, but will include a new "Draw Points" option on an object by object basis. This allows you to have an object in wireframe, outline, solid, or whatever mode you want, plus display all of the points.
I'm not certain how useful this will be, but 7.2 includes the option to display the normals (creasing) for objects. This can be turned on and off for each object.
The second to last new object rendering option is "Draw Two Sided". Choose this for an object and it will be rendered two sided, rather than the default single sided rendering.
The final new object rending option for 7.2 is "Draw Translucent". Choosing this option for an object will result in it being draw at 50% of it's normal translucency.
In the example below I've set the sphere on the left to "Draw Translucent". I sampled the material to show that this doesn't affect the actual translucency. This is just a way of having an object be less obtrusive in a scene, temporarily.
I'm not certain, but this might be the full list of new functions for 7.2.
There's a whole lot of behind the scene enhancements coming. These are mostly just performance improvements, though there will be some visual differences in how objects selected.
I'll post as I complete the various "visible" enhancements.
Btw, some of the changes I've made allow improvements to undo/redo. I'm not sure when that will be implemented, but it won't likely happen right away.
I have quite a bit of work to do before I can release an alpha. I am working hard to get this done as soon as possible. I hope I don't get waylayed.
Should double sided be a property of the object or the material?
Could I request an option to turn on/off alpha for textures/materials We used to be able to look for the mask material to determine if alpha blending was needed but this has gone from the latest 3DC versions with TGA and DDS assumed to contain an alpha channel. Also FSX uses the alpha layer for something other than translucency.
Posts: 1138 | Location: Surrey, UK | Registered: Fri November 07 2003