Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 08:44
    Shomnipotence opened #1792
  • Jun 29 15:48
    holance commented #1791
  • Jun 29 12:22
    Shomnipotence commented #1791
  • Jun 28 21:49
    holance closed #1728
  • Jun 28 21:49
    holance commented #1728
  • Jun 28 21:44
    holance labeled #1756
  • Jun 28 21:44
    holance labeled #1756
  • Jun 28 21:39
    holance commented #1790
  • Jun 28 16:04
    holance commented #1791
  • Jun 28 16:04
    holance commented #1791
  • Jun 28 10:25
    Shomnipotence edited #1791
  • Jun 28 10:20
    Shomnipotence opened #1791
  • Jun 28 04:55
    holance closed #1789
  • Jun 28 03:31
    holance labeled #1789
  • Jun 28 03:31
    holance labeled #1789
  • Jun 26 10:52
    x1y9 commented #1789
  • Jun 26 10:36
    x1y9 commented #1789
  • Jun 26 02:51
    holance commented #1789
  • Jun 26 02:50
    holance commented #1789
  • Jun 26 02:49
    holance commented #1789
yonghua
@dayang
image.png
image.png
Lunci
@holance
@dayang are you using single point model to render your points? Or use many point model for each point?
@FrankenApps have you verified the bitmap your code rendered?
yonghua
@dayang
@holance My whole model has several hexahedrons, each hexahedron has six surfaces, and each surface uses a PointGeometryModel3D to render many points on it
image.png
This is one hexahedron
I run the OctreeDemo which works well,so maybe the use of ItemsModel3D?
yonghua
@dayang
image.png
My code wirtes like this
redrabbit007
@redrabbit007
Has anyone created a scene designer for helix-toolkit? Where I could visually place lights, models, etc.
Lunci
@holance
@dayang which version are you using?
Are you able to upload a sample to show the issue?
Gravemind2401
@Gravemind2401
if you dispose a group element does it also dispose of all its children? I can see it disposes the group's scene node, but im not sure if child nodes are part of that diposal
Lunci
@holance
@Gravemind2401 yes, all children will be disposed
miquik
@miquik

Hello,

I try to implement my custom shader technique; In order to get it works, every objects in the scene must be preprocessed in this way: object geometry is split in two part, one part (let's called A) has its own shader, vertex/index buffers, primitivetopology, also the other part (let's called B) has its own shader, buffers.

Now, to apply this technique correctly, I have to render A first and the B in this order. This must be done for every objects so, for example, if I have 3 objects in scene I have to render: A1 B1 A2 B2 A3 B3.
How could manage this in Helix? I think about create two nodes (one for A and one for B) and append both as child of an "empty" parent-Object node

kthyholdt
@kthyholdt
Hey, I'm trying to migrate my program to .Net Core, when changing to the Helixtoolkit Core SharpDX packages the append function in MeshBuilder no longer accepts MeshGeometry3D as input. Is there some using I'm forgetting, or was this intentionally removed?
Lunci
@holance
@miquik The easiest way is just use different node to contain different parts. And put them in order.
Lunci
@holance
@kthyholdt You can use the append function and pass in different properties from MeshGeometry3D.
DeshpandeJanhavi
@DeshpandeJanhavi
I want to generate Digitally reconstructed radiograph (DRR) from CT volumetric data using raycasting technique. Is there any way to render 3D volumetric data using raycasting in helix toolkit?
Federico Rossi
@artipo
2020-11-19_14h12_34.png
Hi, I was trying to add a custom ViewCube to my viewport, without sucess.
Following CustomViewCuboDemo I've added a 'ScreenSpacedGroup3D' to my 'Viewport3DX' (The project uses 'HelixToolkit.SharpDX.Core.Wpf').
If I set ScreenSpacedGroup3D's content as in the demo, everything works.
In my attemps I tried to set ScreenSpacedGroup3D's content via nodes systems as in image above.
ViewCubeNode is structured like this:
'GroupNode' containing 3 'LineNode', one for each axis.
Sadly the ViewCube don't appear where it should, but instead in the main scene, with all the other nodes.
Any ideas?
If needed I can try to provide a test repo.
SnowyWreath
@SnowyWreath
Is there a post effect node like PostEffectMeshBorderHighlight that works against a white background? The PostEffectMeshBorderHighlight node will provide a colored glow that lightens the background, but that has no effect on white. Is there a way to change the blending to darken the background, or to just colorize it?
Gravemind2401
@Gravemind2401
is it possible to set a render distance per element? ie if camera is more than X units away, do not render this specific element
Gravemind2401
@Gravemind2401
im hoping to increase performance by not rendering a lot of smaller objects past a certain distance
Lunci
@holance
@SnowyWreath You can try to set the highlight color to dark color
@Gravemind2401 You can set far field distance
Gravemind2401
@Gravemind2401
isnt the far plane global? or is far field a different thing to far plane? basically i want to have my smaller objects culled at a shorter distance than my larger objects because i have a very large range of object sizes in the scene
for example a small object may be far away enough that it can be culled, but there could be a large object further back which is still visible
Lunci
@holance
Camera is doing frustum test, as long as large objects are still inside or intersect with the frustum, they will be rendered.
@Gravemind2401
Gravemind2401
@Gravemind2401
i thought the far plane is what determines the length of the frustrum and hence anything beyond the far plane will not render
Gravemind2401
@Gravemind2401
basically i have a gigantic 3D skybox, then ground/buildings, then smaller detail objects
i want each of them to have their own “render distance”
ideally i would give each their own frustrum, because having a skybox and small objects in the same view sacrifices a lot of z order precision so i get lots of z fighting
Tai Le
@atlesg

@atlesg There are many books talked about 3d math and rendering. Once you understand the basics, it will be beneficial to learn helix toolkit or other game engine as well.

Thank you so much Sir! I'm gonna have a read soon

ChengdaGuo
@ChengdaGuo
image.png
Hi everyone. I loaded a ply file and use VertColorMaterial to render it. But I thought the whole mesh is too bright like below shows. So I try to change the colors of AmbientLight3D and DirectionalLight3D to darken the whole mesh. But it not work, can I do that and what approach do you recommend?
Lunci
@holance
@Gravemind2401 You need to tune the depth bias to avoid z fighting.
@ChengdaGuo Try to remove the AmbientLight3D or set it to near black.
ChengdaGuo
@ChengdaGuo
@ I've already tried! I found that change AmbientLight3D or DirectionalLight3D didn't take effect. Even I removed the settings of Lights from xaml, the render effect is also unchanged.
@holance
Tai Le
@atlesg

alt

Hi everyone, I loaded a low-polygon STL model into my viewport. Now I want to highlight any facet of the model whenever my mouse cursor hovers on the surface → After that, I want to get that facet's information such as: normal vector, center's position... I don't know what to do now. Here is part of my code so far:

 private void viewPort3D_MouseMove(object sender, MouseEventArgs e)
        {
            findFacet();
        }
void findFacet()
        {
            Vector3D vector3D;
            var mousePosition = Mouse.GetPosition(viewPort3D);
            var source = FindSource(mousePosition, out vector3D); // Return Model3D
        }
 Model3D FindSource(Point point, out Vector3D normalVector)
        {
            var hits = Viewport3DHelper.FindHits(viewPort3D.Viewport, point);
            foreach (var hit in hits)
            {
                if (hit.Model == our_model3D)
                    continue;
                normalVector = hit.Normal;                
                Console.WriteLine("normalVector: " + normalVector.ToString());
                return hit.Model;                
            }
            normalVector = new Vector3D();
            return null;
        }

Thank you!

SnowyWreath
@SnowyWreath
@holance, I tried PostEffectMeshBorderHighlight with a dark color, but it still didn't show up on a white viewport background. The highlight only becomes visible when something darker moves behind it.
Lunci
@holance
@ChengdaGuo VertColorMaterial does not have any light calculating. It purely renders the vertex color. To use lighting calculation, use PhoneMaterial and set VertexColorBlendingFactor = 1.
Lunci
@holance
@SnowyWreath Could you submit a bug in the https://github.com/helix-toolkit/helix-toolkit/issues. This is caused by the blending factor.
@atlesg You need a separate model to render your highlighted triangles. Just create a different mesh model and create your geometry you want to highlight on the fly.
Tai Le
@atlesg

@atlesg You need a separate model to render your highlighted triangles. Just create a different mesh model and create your geometry you want to highlight on the fly.

I see, but how can I get the clicked triangle? The only info I can get now is position of Rayhit, normals, and triangle indices. I mean I need to return 3 points of the facet when event MouseDown happens, how can I seize that info? Thank you

Lunci
@holance
you can get your triangle from the triangle indices, right?