CompuServe Messages

#NAVFlyer questions

    06-Mar-95 11:04:41
Sb: #NAVFlyer questions
Fm: Angela Pate 70521,700
To: David Gould 100424,2533
Hi David, I got your message on Saturday, but I promised my boys, no computers, only gardening all weekend so I was involved in teaching my 9 yr old the age old art of double digging… Great fun. The garden is getting better every day.. Great feedback, and a lot to answer so here we go…This is a long one. No it's 2 messages. <<<<I downloaded your NAVFlyer application and loaded the chevy.3ds file. It was incredibly slow and the gouraud shading was dithered rather than using solid colours. Also the lighting was very dark. Is there a way to speed it up and get solid shading?>>>> VR worlds are seldom 33K polys. Even the high end Evans & Sutherland hand gliding demo seen at trade shows (a very fast box compared to a PC <g>) only renders about 1600 polys on the sreen at one time due to some smart logic (level of detail , LOD, and other such tools). However I think the Chevy model is a pretty typical 3D Studio model for experienced users as yourself, so I will try to address your questions regarding this model. Lets save the speed issue for paragraph below on VIEW_I. As you know, the dithering is the method WinG uses to create a better image with only 256 colors. There is no time in real-time rendering (or as close to it as we can get) to optimize the pallette on each frame (many per second), depending on which objects you happen to be looking towards at the moment (and which colors they are). While we do have displays that work in 256 colors without dithering, they are not that much faster nor better looking, without that prohibitive reramping of the LUT to give you great shading. Higher color depth is possible however, read on… The darkness seems to be in the model itself. When I looked at the Chevy model, the ambient was set to 10. I upped it to 100 and put some lights in and the white part got very bright while the red part was still pretty dark. I would suggest that the material properties on the chevy are probably metal with a dark diffuse color (I havn't checked, please correct me if I am wrong) and it renders very dark. I rendered it in 3D Studio to see how it looked there and it was also pretty dark. The demo 3DS files supplied with NAVFlyer don't come in dark, so I would have to assume that the Chevy model may need some alteration to brighten it up. Try the NAVcity model supplied. It is very bright and only 1000 polygons for better flying. <<<<I used VIEW_I.PXP(by Gus Grubba et al) in 3DS R3 to view the chevy car(+33K faces) from chevy.3ds on my 486 DX2 66Mhz and I could rotate the gouraud shaded car in real-time with really fast feedback. There was only a slight lag in the rendering time. When I loaded any smaller object I had immediate real-time smooth feedback. So I know that is possible to get great real-time gouraud shading performance even from my 486.>>>>> I suppose this is a logical question for 3D Studio users. Let me tell you what I know and maybe it will help… maybe not, but for what it is worth…Start by comparing apples to apples as close as possible. If you create a window in NAVFlyer of the same size as the one used in the VIEW_I.PXP and zoom back to where the Chevy is taking up about the same amout of the window as it does in VIEW_I.PXP and put Object Lock on so that it will stay in the center of the screen, on my 486 66 I get around .43 fps. Using VIEW_I.PXP on the Chevy model on my 486 I get around 1.5 fps. Somewhere between 3 and 4 times faster than NAVFlyer. In VIEW_I.PXP there are no colors, so the rendering there is limited to only one calculation. We have at least 3, for RGB so that most likely (as explained to me by the CDK guys) explains why they are at least 3 times faster than NAVFlyer. VIEW_I does not cares if a rendered pixel is on the body of the car or the bumper or the seat. NAVFlyer is constantly making these calculations and rendering the correct color, texture and lighting for each pixel. There are no other viewpoints to consider in VIEW_I while we are constanly checking to see if you have moved in 6 Degrees of freedom (not 2) , released the object lockon or not, all checked every frame. VIEW_I only has to check on how the object has been rotated on only 2 axes, I believe from a quick glance at the source code magnanimously provided by the Yost gurus. Since there are no other options in VIEW_I there are also many other tricks (or talents) that might be being utilized to speed up the rendering. I don't know what they are doing specifically in their rendering library, but such techniques often used by game makers include integer only math, ray casting as opposed to true 3D calculations (often used in games like DOOM where the model is typically orthogonal walls only and very simple to navigate without true 6D control), model optimization and others. It is very interesting that using VIEW_I with the Chevy model on my 486 in Flat its 1.5 fps and Gouraud is 1.3 fps and in wireframe, where you see each edge of each poly it SLOWS DOWN to only .5 fps, very close to NAVFlyer's texture mapped Gouraud speeds. WE generally fly faster in wireframe than shaded, which leads us to conjecture that they have some good techniques in use while shaded that don't work in wireframe. Also, VIEW_I always uses it's own default lights, not caring what the model has for defined lights, thus the lighting model is much simpler. The lights are always positioned in the same place in relation to the camera. NAVFlyer is considering the ambient light as well as additional lights in the model and where the camera is in the current frame, each and every frame. So when you say that you know you "can get great real-time gouraud shading performance even from my 486" I suggest that there is more to consider. The bottleneck is in painting the pixels, so first start of with as close to apples to apples as you can get by making the rendered window the same size and the Chevy at the same distance, so you are painting the same amount of pixels in both cases. Then compare what capabilities are being considered. If your purpose is to look at one object to see it's shape, with no surface considerations or true 6D control, VIEW_I is a better solution than NAVFlyer. It serves a great purpose in helping to create models. However, it is not capable of putting you into an environment to fly around and experience. If it was, it would render slower, period. The more you take into account on each simulation loop (each frame) the longer it takes. We have weighed the choices very keenly over the past few years and have chosen the capibilities that we offer because they are necessary to create a "Virtual Environment". Speed is not great on standard VGA cards yet for anybody, but that will come with time and in the meantime, we feel that (especially for 3D Studio users) there is still a lot that can be done with some immagination and innovation. It is a gamble we are taking, that modelers will see beyond the speed issue and try to create worlds NOW that are NOT 33,000 polygons. Maybe we are wrong and modelers such as yourself will not find it worth it to try, but I am betting on you and others to go for it. I hope I am right <g>. <<<I understand that the VIEW.PXP must be using a "fixed" palette consisting of a gradient for the various light intensities between 0 and 1, but even though you said that NAVFlyer could do the textures I can't see them since the colours are dithered(Bayer dithering I think) so much that the colours are muddy.>>>> Check out the included NAVCITY.3DS and tell me how the dithering on the textures looks there. It is certainly not muddy. The chair in the Chevy did look muddy however. Certain textures will look better than others in dithering I suppose….The goal is certainly to get more than 256 colors if this is a prime concern. Remember though that a higher bit depth also slows down the simulation loop (frame rates). <<<A suggestion: can you have the program work when using a high or true colour display? I used true colour in windows for Photoshop et al and don't want to have to switch to 256 colours, run the video profile each time I want to use your program.>>> Yes NAVFlyer and NAVIGATOR do work with a true colour displays. Using the Rendermorphics display we get true color in Windows and in DOS using SPEA's Fireboard and Future Vision Technologies Sapphire boards. The accelerator cards give you great color and great frame rates too. Watch for the new Sapphire 2SX card from Fujitsu (now) that is supposed to be out by early April (latest date, but you know how that goes <g>). They tell us that there will be versions of the board from under $ 1000 to 1200 or so depending on features. continued on next message……….