3D-Coat development process

I am Andrew Shpagin, the developer of 3D-Coat. This is my personal blog devoted to the development of 3D-Coat. This blog is created to give fast and non-official information about 3D-Coat. I will post there daily news, what I am doing now, what features are under development this moment. It could be really interesting for everyone who is interested in 3D-Coat.

Sunday, January 27, 2008

Adaptive subdivision

Recently I have done 2.05 beta 1. The main feature of the version is auto-subdivision of geometry on comples parts of surface to acieve better displecement. To understad it better I will tell first how 3D-Brush renders the model. The main idea of 3d-brush is that high poly geometry (2-8 millions of polygones) is used to get normalmap, but actually for render less polygonal geometry is used. So there are actual mesh and carcass mesh (20-80 K of polygons). Now you can control the resolution of carcass mesh and of high hpoly mesh. I have made many optimisation and now catrass mesh can be up to 1 million of polygons. But usually you don't need so much polygons for carcass because now 3DB performs additional subdivision on curved faces. But it even makes something better then usual subdivision. You know that during subdivision you should add one point to tyhe center of the face and one point to every edge. In usual sceme every point will be add in the middle of the face/edge. But in my sceme points on face and edges will be inserted in the most displaced positions. It allows to get much better displaced geometry. I can illustrate it ising screenshots:

1) Usual stroke over plane. You can see disortions on the sharp edge.

2) The same stroke with adaptive geometry:

3) The same without wireframe:

No comments: