This is the discussion forum for Helix Toolkit.
For bugs and new features, use the issue tracker located at GitHub.
Also try the chat room!
0

Missing Importing models in sharpDX-Fork

Anonymous 11 years ago 0
This discussion was imported from CodePlex

glgweeke wrote at 2014-02-26 11:45:

Hi,

I would like to test the sharpDX performance with huge .3ds or .obj files. To see the
different between WPF und sharpDX.
But currently I am missing the model-importer features.
What are the future plans about this?

By,

Gregor
0

SpecularMaterial for OBJ Texture

Anonymous 11 years ago 0
This discussion was imported from CodePlex

cmouritsen wrote at 2014-01-29 16:12:

Hello. Thank you for this awesome library. I've noticed that when I import an obj with a texture (mtl) file that defines Specular Material the display 3D model is very bright. If I remove the Specular Material then it looks like I would expect. Is this a known issue? Am I doing something wrong?

In my case the Specular color is white and the Specular Coefficient is 0.

Thanks again!

objo wrote at 2014-02-02 11:52:

It is possible the specular color is not interpreted correctly.
Can you provide a small model and a screenshot how it looks in other programs?

cmouritsen wrote at 2014-02-03 17:04:

Is there a way I can send you a model privately?

cmouritsen wrote at 2014-02-05 19:12:

This isn't the exact model that I'm using, but the obj model here (there's the male02.obj and associated male02.mtl) also doesn't display well in the Helix Viewer, but displays fine in MeshLab. This may be more related to my other question about the edges of the pieces of the texture, but the end goal is the same: getting a obj/mtl combo to display nicely in the viewer. Thanks!
0

Cursor Position In Viewport

Anonymous 11 years ago 0
This discussion was imported from CodePlex

jtorkelson wrote at 2014-05-30 04:39:

Is it possible to get the position, either relative to the viewport, or the application window, of a specified Point3D inside the viewport? In other words, with the camera at a particular position/orientation, does the toolkit provide a method for determining what the cursor position would need to be in order to point at a specified position in the 3D view? Essentially I'm trying to do the opposite of hit testing, get mouse position out of a 3D position in the view.
0

Performance is slow while rotating/moving the model on mouse gesture

Niteen 10 years ago updated by WooAja 3 years ago 6
Hello,

we have added the 2000 and more object in view port and because of this our model is running slow. When we try to rotate the model , it will move very slowly..

can you suggest, how to improve the performance to running fast and easy?

Please suggest. it's very urgent

Thanks,
Niteen Patil

0

Extent of 3DS and LightWave importer.

Anonymous 11 years ago 0
This discussion was imported from CodePlex

Rogad wrote at 2014-02-08 20:32:

Not planning on using this right away, but at some point I would like to do bone animations of human figures.

So do either the 3DS or LightWave importer also import bones/skeletons as well as the basic mesh ?

And is there any provision for animating the skeletons etc ?

Thank you.
0

Tool tip for Tube

manoj jadhav 10 years ago 0
How to show the tooltip which shows the value of X,Y and Z.

object is TubeVisual3D.



0

load models

Anonymous 11 years ago 0
This discussion was imported from CodePlex

it_test wrote at 2013-02-05 09:06:

hello,
Can anyone provide a working code for loading one\group of models from .obj .mtl and some .jpg files and rendering them on screen? I was trying to load models, but I cannot load or apply textures, and it gets messy.
I looked at example folder, but it only loads model with no texture.
I'm probably not applying them correctly, but there might be other errors.

I think there is a problem with materials; first I load the model
        model = ModelImporter.Load("filename.obj");
        material = (MaterialGroup)((GeometryModel3D)model.Children[0]).Material;

then return that material:
        this.theMaterial = (MaterialGroup)faceNeutral.getMaterial();
where
                           <GeometryModel3D.Material>
                               <MaterialGroup x:Name="theMaterial">
                                   <DiffuseMaterial>
                                       <DiffuseMaterial.Brush>
                                           <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
                                               <LinearGradientBrush.GradientStops>
                                                   <GradientStop Color="LightBlue" Offset="0" />
                                                   <GradientStop Color="LightBlue" Offset="1" />
                                               </LinearGradientBrush.GradientStops>
                                           </LinearGradientBrush>
                                       </DiffuseMaterial.Brush>
                                   </DiffuseMaterial>
                               </MaterialGroup>
                           </GeometryModel3D.Material>
but object still renders as LightBlue.

also number of times I got
//Unable to cast object of type 'System.Windows.Media.Media3D.MaterialGroup' to type 'System.Windows.Media.Media3D.DiffuseMaterial'.
thanks

objo wrote at 2013-02-10 16:43:

The casting error is in your code, right? If you want to replace the MaterialGroup with the material from faceNeutral, I think you should change the Material property of the GeometryModel3D instead. If you need to keep the MaterialGroup, try Children.Clear() and Children.Add(faceNeutral.GetMaterial());
0

Orthographic Cameras

Anonymous 11 years ago updated by ไอยดา สุรีวงค์ 4 years ago 1
This discussion was imported from CodePlex

ReedCopsey wrote at 2010-05-14 21:10:

Are there plans to add support for orthographic cameras, as well as perspective cameras?


objo wrote at 2010-05-15 00:00:

Yes, orthographic cameras should be supported, but there are a few other camera features I would like to add first (zoom to extents of model, rotate around a point that is not at the center of the view). Does anyone know how to do this?


objo wrote at 2010-05-15 00:07:

I added this to the issue tracker.


ReedCopsey wrote at 2010-05-15 01:56:

objo wrote:

 (zoom to extents of model, rotate around a point that is not at the center of the view). Does anyone know how to do this?

For zooming to extents, it depends on whether you're orthographic or perspective.  

In orthographic, you just set the camera's width to be wide enough to encompass the bounding box.  

Perspective is a bit trickier.  For this, you need the radius of a bounding sphere, and the camera's field of view.  Basically, you just position the camera so that its at a distance (from the bounding sphere's center):

double cameraDistanceToWorld = worldBoundsRadius / Math.Sin(camera.FieldOfView * Math.PI / 360.0d);

 

For rotating around a point not at center, the main issue is that you need to track the rotation point separate from the camera itself.  Right now, you're not rotating around the center of the model, but rather the point defined by the end of the look vector...  To rotate around an arbitrary point, you'd need to track the rotation point.  That being said, I'm not sure this is a good idea - it wouldn't behave like a standard trackball at this point, but rather have some very odd behavior...


objo wrote at 2010-05-16 22:37:

Thanks for your suggestions - I was thinking to implement zoom to extents using the 2D bounding box (see Eric Sink's blog post), but I can try the bounding sphere first. I will assume the center of the bounding sphere is the current camera target point. And maybe use the Visual3D.Bounds property (which is cached), even if it will not give the minimum bounding sphere?

The rotation around a point which is not in the center of the view is a behaviour I see in Google Earth and many CAD/modelling programs - the point where you press down the mouse button is used as the center of the rotation. Maybe this needs a special camera that derives from MatrixCamera? I tried changing both Position and Direction of the ProjectionCamera at the same time, but that solution was not very stable...


ReedCopsey wrote at 2010-05-17 20:28:

I'd avoid the 2D bounding box approach, at least as specified in that post.  It goes through the entire world, and requires checking every single point's location.  That's going to be pretty horribly slow, especially once you add the visual transform checks to world space (his current implementation in that post won't work if you have transforms on your objects...)

You should be able to use the Visual3D.Bounds property directly.  Just use the center of the bounds as the center point, and 1/2 the bounds diagonal length as a radius, and you'll get a pretty decent implementation.  It might, in some cases, be zoomed out slightly more than necessary (since the minimum bounding sphere could be smaller than the bounding box), but it should be pretty decent, and it's very fast - for any size model.

 

 


objo wrote at 2010-08-05 00:56:

The CameraController and HelixView3D controls now support orthographic cameras.  

0

FindSharpEdges problems

Anonymous 11 years ago 0
This discussion was imported from CodePlex

Trezzy wrote at 2013-01-09 14:17:

Hello,

First of all, great toolkit you have here. I was up and running in minutes.

I am having some problems with the FindSharpEdges method in MeshGeometryHelper. Even if I set the angle to 0 i get no edges returned. Is this a known issue or am I missing something?

I was hoping to achieve some sort of Wireframe looking rendering.

 

Br,

Trezzy

 

0

Layers in 3DS

Anonymous 11 years ago 0
This discussion was imported from CodePlex

RusGIS wrote at 2012-02-23 04:57:

Hello!
When reading the model in 3DS format, broken into layers displayed only a single layer.


objo wrote at 2012-03-10 16:03:

The figure only shows a black rectangle. Can you provide a .3ds file with layers that we can use for testing?