开发者

How to color a mesh with values at the vertices in WPF 3D?

开发者 https://www.devze.com 2022-12-29 06:24 出处:网络
We\'ve got a sphere which we want to display in 3D and color given a function that depends on spherical coordinates.

We've got a sphere which we want to display in 3D and color given a function that depends on spherical coordinates.

The sphere was triangulated using a regular grid in (theta, phi), but this produced a lot of small triangles near the poles. In an attempt to reduce the number triangles at the poles, we've changed out mesh generation to produce more evenly sized triangles over the surface.

The first triangulation method had the advan开发者_如何学JAVAtage that we could easily create a texture and drape it over the surface. It seems that in WPF it isn't possible to assign colors to vertices the way one would go about in OpenGL or Direct3D.

With the second triangulation method it isn't apparent how to go about generating the texture and setting the texture coordinates, since the vertices aren't aligned to a grid any more.

Maybe it would be possible to create a linear texture containing a color for each vertex, but then how will that effect the coloring? Will it still render smoothly over the triangle surfaces as one would expect by applying per vertex coloring?


I've converted the algorithm to use a linear texture which is really just a lookup into the colormap. This seems to work great and is a much better solution than the previous one. Instead of creating a texture of size ThetaSamples * PhiSamples, I'm now only creating a fixed texture of 256 x 1.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号