Breaking and Joining Vertices

In this tutorial color per vertex is shown for all the examples but the same rules apply to textures. When using this tutorial for textured triangles replace the word color with texCoord.

Suppose we want to break the selected triangle's vertex away from the other triangles.


We can do this by clicking on the break coord join button

After breaking a coord join we can drag the vertex for this triangle away from the vertex it was once joined to.



Because the vertex is no longer joined, if we were to change it's colour it would of course not change the colour of any other triangle.

Suppose now we want to join the selected vertex shown above to the the selected vertex shown below:

To do this we first must select the vertex that contains the coord value (and possibly the color value) we want as shown above and then click copy

Then select the triangle and it's vertex we want to modify as shown below:

and paste into it the coord we just copied from the other vertex.


When we paste in the coord we have several options from the paste coord menu:



If we select paste/coord/move it means we only paste in the coord. So after we see this command executed we will see the vertex move to the location of the vertex we copied. However if we now drag the vertex we will see it still comes away because it never got joined to any other vertex, it was moved (also the color remains independent).
To make it so that the vertex gets joined we should select one of the join commands such as paste/coord/join coord  
Notice that after this command

though now the triangle's coord is joined as proven by if we drag it, the color of the vertex for the triangle remains independent from the other triangles the vertex is now joined to. This is because we selected join coord so it only joined the coord not the color as well. To have made it so that the vertex had both it's coord joined and it's color joined we should have selected paste/coord/join coord & color which would have got the folowing results:

back to where we started. Because the concept is we are pasting in the coord and the color to a vertex the selected vertex moves to the position of the copied vertex and takes on the color of the copied vertex. To make it so that the color is reversed to this logic for just the color select paste/coord/join coord and opposite color. If we had used this command to join our vertex we would have got the folowing result instead:

Summary

break join/coord copy (R) vertex

join by pasting in the coord using one of the 3 commands to get the folowing results:

join coord join coord and color join coord and opposite color

Breaking and Joining Only the Color

Suppose we have 6 triangles joined for the selected vertex as shown:



by both coord and color. This means that they share one common color element. Therefore if we were to to copy and paste in a new color to this vertex or change the color of this vertex using the color buttons we would see the color change for all triangles that share the selected vertex:

If we want the coord to be joined but to have the color of the vertex in the selected triangle to have it's own independent color we can do this by breaking the vertex away using the command break join/coord and then join it back without joining the color but it would be much less work to just select break join/color so that we only break the color without breaking the coord.

After breaking the color join now if we change the color for this selected vertex while the triangle is selected we will see this: If now we want to make the selected vertex for the selected triangle shown:

be joined by it's color to the triangles vertex we just changed.

first:

select this triangle's vertex then copy it,
then select this triangle's vertex (we only need to click to select another triangle)

and then select the command paste/color/join which should result in us seeing:



Now if we were to change the color for the vertex while either triangle is selected we will see the color change for both triangles

 

because both triangles share the same color element (both are joined by color) but remain independent in color to the remaining 4 triangles the 2 are joined to by coord.

If we have vertices joined to other vertices by the coord but not the color but the color is the same color this can be wasteful. Not only will this make files bigger than they have to be for the extra color values but also behind the scenes extra vertices have to be created unknown to the user because hardware to my knowledge can not render triangles that share a coord independent of a color. It is easy to avoid this waste by selecting the command, paste/color/join matching in all parts.
This command simply joins all the vertices colors to other vertices colors if they have the same color and are joined by the coord. This command can be slow in models that contain many triangles but should not have to be done often since it is a global command for all parts and makes the end result faster to render in real time.

Notes
Breaking a coord join logically breaks the color join but it is possible to break the color join without breaking the coord join.
A number of triangle's can be joined by one single coord but this does not have to mean the triangles share the same color for this vertex that is joined by a common coord. Each triangle can have its joining vertex own an independent color. It is also possible for an independent color to be shared by any number of triangles
When we use the paste/color/join we may think that the concept is strictly joining the color not the coord as well. However because of the fact that when joining a color from one vertex to another vertex's color it would have to mean that the coord for the two vertices are joined, the funtionality for a paste/coord/join coord and color is identical to a paste/color/join command.






Copyright © 2000-2006 Graham Perrett thyme@seamless3d.com