maybe for realtime shading in moi
All  1-10  11-15

Previous
Next
 From:  Michael Gibson
1963.11 
Overall MoI is intended to be a tool that helps you express a design.

The primary essence of this in MoI is being able to draw/model your design, so especially in early versions of MoI this is the area that MoI is very focused on.

There are other types of tools that can help you to bring your design to a more full expression and help communicate it to other people, stuff like adding annotations and dimensions, producing renderings and line art, etc...

Those types of functions will definitely become a part of MoI as time goes on, but currently there are still plenty of areas to focus on just in the core area of modeling.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  lwan
1963.12 In reply to 1963.9 
you'd hardly make a convincing communication with a sloppy viewport :)
anyway, maybe here using some kind of on-demand (to avoid the continuous lags during modeling) cached DX meshes would help, but right now you don't need to push a lot to make the framerate drop way to much, I know directX can do much better.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
1963.13 In reply to 1963.12 
Hi Iwan, I guess I'm confused about what you're mentioning... Do you have an example of the kind of sloppy result that you are referring to?

But actually what I mentioned above about adding in communication features is about stuff that I want to focus on at a future time, not stuff that is already finished up and currently in MoI. Sorry if that was not clear there.

> I know directX can do much better.

Actually, nope that is not true... After objects have been meshed in MoI the mesh data is sent over to the card for rendering without much anything else getting in the way.

The only thing that would be faster is if the data was already resident on the card, however that is only possible to do with a much newer generation card and it has been a big goal to make MoI work on much less powerful cards - that's why MoI is able to run well on things like a low powered TabletPC system with 32Mb of Vram, which is basically impossible to do with a regular CAD program these days.

MoI's uncommonly low system requirements have definitely been a big boost and help to many people, so that has turned out to be a really great decision to not rely on having a very advanced video card just to make MoI function.

Now that the basic functions are well covered for MoI, I would like to add in some stuff in the future to optionally take advantage of more powerful cards as well. But it will be great to have that an optional thing rather than a required thing just to run the program.


By default MoI is set up to create a pretty dense mesh so that you get a nice quality smooth display.

The mesh that is generated tends to be very much more dense than a typical DirectX app, that may be why you have some confusion about the comparison there...

If you would like to speed up the display you can reduce the mesh density by going to Options / View / Meshing parameters and set up "Mesh angle" to a higher angle like 20 degrees, and uncheck "Add detail to inflections". Also another thing that can speed up the display is to uncheck Options / View / Display hidden lines, as the hidden line display pass will add additional rendering complexity.

With those settings adjusted to a more coarse level as is more typical, then you should see more of the kind of thing that you seemed to be expecting.

But by default it is nice to have a smoother display so that when you are working on some surfaces you see more of the quality of the true surface definition...

I would like to tune this up in the future to sort of more automatically throttle the mesh density down when you have a larger scene, instead of needing to manually adjust the setting to be coarser, I think that will help out quite a bit.

- Michael

EDITED: 24 Sep 2008 by MICHAEL GIBSON

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  lwan
1963.14 In reply to 1963.13 
Well I understand your point, but clearly DirectX once meshes are cached can handle multi-millions polygons at comfortable framerates (personally I've been working on a 17 millions triangles car in max with 30 fps minimum constant, including textures display. MoI, even with very low tesselation (add details to inflections set to 5°) will run at 1-2 fps quickly with very daily models, which is a really annoying to work with in my humble opinion.
Since we (at feversoft) are working with realtime too, I can tell that meshed nurbs can display MUCH faster, so yes it is true :). We have a set of CAD importers that supports different type of nurbs and they all are showing great performance using caching.
My point about the on-demand caching is to avoid the lag during modeling (caching takes an instant to get done), also hide/unhide will destroy the cache but the lag is not SO annoying.

About the old gen graphic cards, well ok, but caching is supported even on the lowest grade dx9 compatible card I believe.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Michael Gibson
1963.15 In reply to 1963.14 
Hi Iwan,

> About the old gen graphic cards, well ok, but caching is
> supported even on the lowest grade dx9 compatible card I believe.

They technically support it, however that is not the main issue - older generation cards have a much lower amount of video memory on them than newer generation cards, so creating a display design that is totally focused on making mesh data resident on the card is not going to work well with cards that only have 64Mb of VRAM, or especially 32Mb of VRAM.

That is one big reason why many CAD programs and newer display type systems are totally unable to function at all on older cards.

MoI's DirectX design is currently focused on being very memory efficient and streaming data to the card instead of requiring it to be resident on the card. That's a key thing that allows it to run so smoothly on older cards where other display systems just totally fail.

For example, try running your 3ds Max installation on a system with 32Mb VRAM and see how well it works.... MoI on the other hand will actually run on that system.

The streaming is not really that big of a deal because newer cards also have an improved streaming speed as well, so that by itself does not tend to be the biggest bottleneck in the display. In general curve drawing is actually the #1 bottleneck.


> MoI, even with very low tesselation (add details to inflections set to 5°)

You didn't read my message correctly - setting it to 5 degrees has set the tessellation to be much higher density, not lower - to set it lower set the angle to a more coarse angle like 25 degrees, and uncheck the "add detail to inflections" box.

Like I mentioned the default settings in MoI are set up to give a much higher density mesh than is normally done for NURBS display in other programs. But that also gives a much higher quality display with less jaggies and shading glitches which tend to confuse beginning users who confuse coarser mesh defects with defects in the surface. The density is set to high in MoI by default so that you see more of the true NURBS surface definition instead of the meshing artifacts.


> Since we (at feversoft) are working with realtime too, I can tell that
> meshed nurbs can display MUCH faster, so yes it is true :)

Have you been able to compare the polygon count between the 2 displays and examine things like silhouettes and shading glitches?

I can certainly believe that a system that uses a coarser mesh is going to be faster, no doubt about that!

Additionally, is your display drawing anti-aliased curves for every edge in the model?

If not then you're totally comparing apples to oranges - the curve display is actually one of the most compute intensive parts of the display process.

You could hide all the edges in MoI to get a speed up as well, but working with edges tends to be a big part of MoI's workflow, so that is not very practical.

Your comparison is just not really valid, you're comparing things that are doing different types of work and wanting them to be equal...

I could make it equal in MoI if I took out the extra things that MoI is doing like high density and anti-aliased curve display, but for the work that is done in MoI typically those are important features for MoI's display system while they are not for the other systems that you are talking about.

I have spent quite a bit of time optimizing the path to DirectX - that is not really the main problem area.


It's easy to make mistakes in comparison between different systems like you are doing here - you have to take everything into account not just "some other program that uses DirectX displays millions of polygons". That does not particularly mean anything unless it is doing all the same stuff.

I wish that things were as simple as what you describe, but no that is not at all correct.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
 
Show messages: All  1-10  11-15