Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jun 14 14:53
    holance commented #1585
  • Jun 14 14:52
    holance commented #1585
  • Jun 14 14:31
    eriove commented #1585
  • Jun 14 14:18
    holance commented #1585
  • Jun 14 09:15
    eriove commented #1585
  • Jun 10 23:44
    holance commented #1599
  • Jun 10 22:56
    zhichangxuexi opened #1599
  • Jun 09 19:12
    holance closed #1596
  • Jun 09 08:25
    bouazaoui commented #1596
  • Jun 08 20:45
    holance commented #1596
  • Jun 08 16:25
    bouazaoui commented #1596
  • Jun 08 00:59
    holance commented #1598
  • Jun 07 22:25
    holance commented #1596
  • Jun 07 18:24
    GeorgeS2019 edited #1598
  • Jun 07 18:10
    bouazaoui commented #1596
  • Jun 07 18:06
    GeorgeS2019 edited #1598
  • Jun 07 18:05
    GeorgeS2019 edited #1598
  • Jun 07 18:05
    GeorgeS2019 edited #1598
  • Jun 07 18:04
    GeorgeS2019 opened #1598
  • Jun 07 11:51
    bouazaoui commented #1596
Gravemind2401
@Gravemind2401
in TransformManipulator.cs under private void OnTargetChanged(Element3D target) is there a particular reason the event subscribe for SceneNode.TransformChanged is commented out? will it cause problems if I enable it again in my custom manipulator?
i have the target object's transform bound to my model so it can get changed by both the manipulator and by textboxes with coordinates in them but by default the manipulator doesn't move when the transform gets changed by another source
Gravemind2401
@Gravemind2401
nevermind i found out why. moving the manipulator sets off the transform changed event which makes everything get called twice
Gravemind2401
@Gravemind2401
i just put a if (isCaptured) return; in the event handler so it only gets run if some other function changes the transform and that seems to do the trick
Shreyasj96
@Shreyasj96
@holance Oh I see. Was it fixed. It looked it it was fixed here assimp/assimp#3383 . Even I tried manipulating the importer.Configuration.TickesPerSecond, no improvement.
Shreyasj96
@Shreyasj96
Looks like it will be merged in the next release.
Gravemind2401
@Gravemind2401
what would be the best way for a custom element to dynamically show/hide itself when the camera moves? I have a custom element type that inherits GroupElement3D, so i was thinking maybe override OnCreateSceneNode and provide a custom scene node that makes itself renderable or not.
I found that I can override bool CanRender(RenderContext context) but im not sure how often this gets called or if thats the right place to do it
theres also bool TestViewFrustum(ref BoundingFrustum viewFrustum) which might work if it gets called every time the camera moves and hence the frustrum changes
what causes these to get called, and am i even looking in the right place?
Gravemind2401
@Gravemind2401
just saw void Update(RenderContext context) too which may be more appropriate?
Lunci
@holance
All those are called for each rendering. @Gravemind2401
Gravemind2401
@Gravemind2401
by “each rendering” do you mean it gets called for every node on every frame? is there a particular one that would be best suited for visibility testing? what do the return values do for the two bool ones?
@13134423523 you mentioned you can use a logarithmic depth buffer, is this on by default and if not how do you enable it and tune it? do you have some code you can share?
Lunci
@holance
@Gravemind2401 Depends on what property you want to test. Either can render or frustum test will work.
Gravemind2401
@Gravemind2401
so if i return false the node just doesnt get drawn for that render pass? sounds like what i need, thanks
Lunci
@holance
@Gravemind2401 Yes
Dimoniums
@Dimoniums
Hi, im a beginner developer. I started putting together a post processor in WPF with the Helix Toolkit. I quickly realized that I need SharpDX for the VertexColor . When I swapped to this part of the toolkit I am no longer able to bind the "ItemSource" property of the viewport. What is the right way to programmatically add objects to the viewport using Data Binding?
Dimoniums
@Dimoniums
Found the solution on SampleDemo
<hx:ItemsModel3D ItemTemplate="{StaticResource Geometry3DTemplate}" ItemsSource="{Binding HelixObjects}"/>
With a converter <hx:MeshGeometryModel3D Geometry="{Binding Geometry}" Transform="{Binding Transform}" Material="{Binding Material}"/>
Gravemind2401
@Gravemind2401
is there a way to save the current viewport contents using assimp? i thought i saw a function for it when i was poking around a while back but now i cant find it
Gravemind2401
@Gravemind2401
found it under HelixToolkit.SharpDX.Core.Assimp in the source code but im using the HelixToolkit.Wpf.SharpDX package so its not available
Gravemind2401
@Gravemind2401
oh its also under HelixToolkit.Wpf.SharpDX.Assimp but apparently still doesnt exist in the package im using
oh. its a separate package. nvm
Åse Maj Håkonsbakken
@bugbiter
Using sharpDX wpf, is there a way to separate grouped entities in an imported model mesh (from e.g. an .stl file), so that they can retrieve their names and can be assigned different materials. Autodesk Meshmixer, for instance, has a command "edit -> separate shells", which does this successfully for the files I am testing with.
Lunci
@holance
@bugbiter Helix toolkit is a presentation library. There is no advanced meshing algorithm provided. You need to use separate meshing library to achieve what you need.
Federico Rossi
@artipo
@holance
Hi, I found the time to came back to the Billboard ScreenSpace HitTest problem.
I've updated my project to the 2.14 version of the package and I was able to make it works.
I've also tried to use "Mouse3DMove" but without success. Should it works the same way as "Mouse3DDown" does?
Thank you very much for all the work you put into this!
Federico Rossi
@artipo
Ok, I've looked at the code and it doesn't seems like "Mouse3DMove" could work as I intend it.
That's because it needs "Viewport3DX.currentHit" set, but that only occurs when a click is performed.
So I need a mouse click to raise "Mouse3DMove".
Lunci
@holance
@artipo Yes, it doesn't support mouse move without mouse down first. Otherwise it has to do hit test during any mouse movement, which may cause performance issue. You can implement mouse move hit test yourself if the performance is acceptable.
Federico Rossi
@artipo
Make sense, thank you!
seanLCS
@seanLCS
does anyone have experience with the Bindable Translate Manipulator? I am having a lot of issues, and the latest seems like a bug. My issue is with the offset. I successfully bound the manipulator to a visual3d object. If I do not set the offset, the manipulator shows up at the origin of my viewport, but it works just as expected. If I attempt to use the origin to move the manipulator to the center of my visual, it works the first time the visual is set. the second time I try to set the visual, I get an "invalid cast" when the window propertychanged event is raised and it tries to get the offset, which is a vector3D within my visual.
Jordan Chapman
@Nordaj
Whats the easiest way to draw points in clip or screen space? It's really just for debugging purposes. Using PointGeometryModel3D and making it's node's model matrix the cameras VP^-1 hasn't been working.
I guess come to think of it, might have to do with PointGeometryModel3D's billboarding
might just construct a 3d mesh manually because i dont see any way to disable that. if theres an easier strat im unaware of please lmk
Gravemind2401
@Gravemind2401
is there any way to use compressed vectors in Helix? i mean the direct x vectors like DecN4, DHenN3 etc that are stored in a uint or two shorts
on a similar note, when providing compressed texture data is there any way to disable transparency on a material so it ignores the alpha channel? i have compressed textures but i feel like decompressing them to remove the alpha channel is eating a lot of memory
or does helix decompress them anyway?
im trying to minimize memory usage by keeping things in their compressed state as much as possible
Gravemind2401
@Gravemind2401
@Nordaj if you need to outline things or make markers that point to certain locations, you can get the viewport's RenderContext and it has a GlobalTransform.ViewProjection which can be used to project points from world space to screen space. i used it to project the object bounding box so i could calculate its 2d rect bounds on the viewport. Im not sure about the drawing though, i only did the transforming.
i used it like SharpDX.Vector3.Project({myVector}, 0, 0, context.ActualWidth, context.ActualHeight, 0, 1, context.GlobalTransform.ViewProjection)
Jordan Chapman
@Nordaj
I got the view and projection matrices through a camera object which should be same matrices
Gravemind2401
@Gravemind2401
are you using SharpDX.Vector3.Project? you shouldnt have to manually invert the matrix. also the camera object should also have a reference to the RenderContext
Lunci
@holance
@Nordaj Could you provide an example (like a screenshot) on what you want to achieve?
Are you trying to project a 3D point onto screen space?
Aparejador Motril
@mantunezr_twitter
How can I open contextmenu in Helix Viewport3DX?
DeshpandeJanhavi
@DeshpandeJanhavi

I want to render a 3D plane with texture stored in a bitmap. I tried using setting texture coordinate values to pixel colors I got from bitmap, but the texture is not getting assigned.
var texcoords = new Point[rows, columns]; for int(i=0;i<rows;i++) for(int j=0; j<columns; j++) { Color pixelColor = bitmap.GetPixel(i,j); texcoord[i,j] = new Point(pixelColor.R/255, pixelColor.R/255); } surfaceMeshBuilder.AddRectangularMesh(Points, texcoord);

Is there any other way to achieve this? Or is there any way I can directly render bitmap in a 3D scene?

TechAspirant
@TechAspirant
How can I load 3DS file using HelixToolkit.Wpf.SharpDX.Assimp ?
void110916
@void110916
Hi, I'm a beginner developer. I'm using HelixViewport3D in wpf. I have some problem when using this tool:
  1. How to transmit or rotate model each frame?
  2. Is HelixViewport3D using GPU or I have to change HelixViewport3D into Viewport3DX?
Lunci
@holance
@void110916 You can do animation or manually update the transform in each frame using wpf composition target. Helix toolkit viewport is using GPU for mesh rendering. But lines and points are updated by CPU. If you need to render a lot of lines and points, you may want to use helix toolkit sharpdx version.
void110916
@void110916
@holance Did you mean HelixToolkit.Wpf.SharpDX, HelixToolkit.SharpDX.Assimp, HelixToolkit.SharpDX.Core or HelixToolkit.SharpDX.Core.Wpf ?