Nurbs Surface Poly Editing and Easier Vertex Join For 2.141

News, Discussions, Questions and Answers

Nurbs Surface Poly Editing and Easier Vertex Join For 2.141

Postby thyme » 24 Sep 2008, 20:20

Open Source Seamless3d 2.141 is available for download from:

http://www.seamless3d.com/download

One of Seamless3d's key features has been its ability to apply hand edited poly maps to polygon independent surfaces. This allows for smooth computer generated shapes to be optimised well for real time graphics. Prior to this version the poly maps had to be edited as flat triangles but 2.141 allows the user to edit the poly map by working with the triangles after they have been curved into shape which makes the task much easier but the user must pay attention to the fact that this is not plain "poly modelling" we are editing a poly map for a nurbs surfaces and so this is still "nurbs modelling". I don't know what the correct term is for this type of editing because I don't know if any other program has this capability so I have decided to call it "Nurbs Surface Poly Editing" (NSPE) which is self explanatory. I have updated the nurbs patch tutorial/demo to document NSPE.

Joining single vertices is now much easier. Prior to this version copy & paste was used to keep the concept uniform to copying and pasting the color for a vertex but time has proven it's not the most intuitive or fastest way for joining vertices. Now all the user has to do is drag one vertex to the other and click the join vertex button.
All demos that used the old way to join a vertex have been updated for the new way.
I have also updated the breaking and joining vertex tutorial and written a demo to accompany it so the new way of joining vertices is well and truly documented.

I have made it so that when exporting a NurbsPatch to a wrl file, if a texture is specified the url for the texture will be exported and the NurbsPatch's first stem node's bands and staves fields are converted to xTessellation and yTessellation fields if the stem contains only a single segment.

I have only uploaded the English version because:

  • Many of the French version's translations need to be updated.
  • Many of the key words for the Seamless3d modelling language are derived from the English language (same as for VRML) but have a specific meaning for Seamless3d, so many of the key words used in the menus should perhaps not be translated.
  • Matthieu's French translations for the tutorials refer to the English modeller with all the images for the English modeller
  • All French Seamless3d users I know use the English modeller.
  • It takes many hours for me to compile, test and upload 2 versions for each update.
However If anyone liked using the French version please let me know.

Many thanks to Arsène, Sarah, Taranis, Matthieu and All who did the translations for the French version.
User avatar
thyme
Site Admin
 
Posts: 1322
Joined: 21 Apr 2006, 16:39

Re: Nurbs Surface Poly Editing and Easier Vertex Join For 2.141

Postby Lilly » 24 Sep 2008, 20:45

woooow thyme it's super cool ! congratsss
And I think that that is going to be easy to learn with the demo robot
because your demos is always very well, it's as if you were at home on my computer to show me ;o)
thanks much thyme
hugzzz
Lilly
Image
User avatar
Lilly
 
Posts: 1097
Joined: 22 Apr 2006, 00:10
Location: France

Re: Nurbs Surface Poly Editing and Easier Vertex Join For 2.141

Postby tutancamon » 24 Sep 2008, 21:49

:D
Already version 2.141 ?
:D
Well, I will test this new version too.
The latest version, ( 2.14 ) work a litle bit more good.
I will comeback here with some comments.
:P
= WEB ART =
User avatar
tutancamon
 
Posts: 117
Joined: 30 Oct 2007, 14:59
Location: Europa / Romania / Bucharest

Re: Nurbs Surface Poly Editing and Easier Vertex Join For 2.141

Postby vnomad » 25 Sep 2008, 01:06

Another nice one!
I like the way the U and V tesselation parameters come out now - a good starting point.

NSPE :o That's quite an accomplishment! Much more intuitive than the esoteric flat stage.

Of course, without the NurbsSurface externprotodeclaration Contact will complain on opening the VRML when warnings are set to verbose(though it still runs). So I usually insert this after the first line:
Code: Select all
EXTERNPROTO NurbsSurface[
field SFInt32 uDimension
field SFInt32 vDimension
field MFFloat uKnot
field MFFloat vKnot
field SFInt32 uOrder
field SFInt32 vOrder
field SFBool ccw
field SFBool solid
exposedField MFVec3f controlPoint
#exposedField SFNode controlPoint
exposedField MFFloat weight
exposedField SFInt32 uTessellation
exposedField SFInt32 vTessellation
exposedField SFNode texCoord
]
[
"urn:web3d:vrml97:node:NurbsSurface",
"urn:inet:blaxxun.com:node:NurbsSurface",
"urn:ParaGraph:NurbsSurface",
"NurbsSurfacePROTO.wrl",
"http://129.69.35.12/dune/docs/vrml97Amendment1/NurbsSurfacePROTO.wrl"
]


Incidentally: White Dune seems to write this proto with an extra line, causing an error/crash. That's the line I have commented in the code. Some of the URNs need updating as well.

A handy little trick I like to employ is to set solid FALSE when instanciating. This way inside surfaces in the NURBS patch are visible when looking through an opening.

Having a toggle for the proto and solid in Seamless might be useful.

I have found White Dune very handy when animating NURBS controlpoints using the graph editor, and it reads nurbs exported from Seamless. Do you have any plans to implement NURBS animation in Seamless? Compared with vertex animation it seems to offer some great effects at very modest filesize.

In any case, thanks again for all the new goodies!!
creativity is great but plagiarism is faster
User avatar
vnomad
 
Posts: 35
Joined: 22 Oct 2006, 13:57
Location: Vardo, Norway

Re: Nurbs Surface Poly Editing and Easier Vertex Join For 2.141

Postby thyme » 27 Sep 2008, 23:25

Thanks Lilly, tutancamon & vnomad for your replies :) I much appreciate any feedback

vnomad wrote:Of course, without the NurbsSurface externprotodeclaration Contact will complain on opening the VRML when warnings are set to verbose(though it still runs).


Seamless3d can not currently interpret extern protos but I plan to add them to it's vocabulary at some time in the future.
So for now extern protos would pose a problem for importing nurbs back into seamless.
Being able to import just a surface like this I find a handy little feature.


vnomad wrote:I have found White Dune very handy when animating NURBS controlpoints using the graph editor, and it reads nurbs exported from Seamless. Do you have any plans to implement NURBS animation in Seamless? Compared with vertex animation it seems to offer some great effects at very modest filesize.


I plan to make it so the user can interpolate nurbs patches yes.

I have not played with white dune nurbs animations yet, If I added an option to the ModelMorpher so that it interpolates nurbs control points instead of the vertices for the end mesh would this be the sort of thing you want?

I have also thought about making it so that a script can trigure a build cycle (needed for nurbs to update) by writing to a nurbs point field.

This would allow for this:

nurbsPatch.point = coordinateInterpolator.value_changed

I have been thinking the build cycle should not be triggered right away to allow for more than one nurbs patch to be updated efficiently.
This should not be difficult at all to implement.

One issue though is if we start using scripts now should Seamless3d's point field use single or double floating point precision for the point fields ?

This is one of the differences between VRML and X3D nurbs patches
VRML uses single floating point presissision and X3D uses double floating point precision.

Seamless3d currently uses floats for its nurbs patches same as vrml.
floats I would guess would be faster but I would like to find out if the difference is significant.
I don't know how important it is to have double floating point precision, most of the time its irrelevant but I have noticed accuracy issues when dealing with points that get close to the centre of the polar regions.

I am happy to use floats for now but we should be prepared for switching over to doubles in the future (which would make old scripts incompatible without hand editing to modify them) if it becomes apparent the extra precision is worth it.

If the ModelMorpher is the way to do it this issue is bypassed because single precision can be changed to double precision at any time in the future without causing incompatibilities to scripts.

vnomad wrote:Having a toggle for the proto and solid in Seamless might be useful.


Alain raised this issue for part nodes some time ago.

I was going to have it so that each part node could be made visible both sides (each part would have its own field) but this is not as easy to implement as making the Seamless node have something like the equivalent of a solid field which would set the whole model contained in the Seamless node.
User avatar
thyme
Site Admin
 
Posts: 1322
Joined: 21 Apr 2006, 16:39


Return to Seamless3d Forum

Who is online

Users browsing this forum: No registered users and 0 guests

cron