Skip to content

Commit cc03279

Browse files
committed
revert 0dbc566: disassociate rnode id and node
another translation table will have to used anyway and this has potentially breaking behavior depending on the backend
1 parent f3f2863 commit cc03279

File tree

5 files changed

+413
-433
lines changed

5 files changed

+413
-433
lines changed

draw/drw.h

-5
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,6 @@ struct RNode{
4949
float dir[3];
5050
float col[4];
5151
float len;
52-
union{ /* FIXME: yikes, but what alternative? */
53-
uchar u[4];
54-
float f;
55-
ioff i;
56-
} id;
5752
};
5853
struct REdge{
5954
float pos1[3];

fs/gfa.c

+1-4
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,6 @@ initnodes(ioff nnodes, int *len, ioff *off, ushort *deg)
118118
n->eoff = *off++;
119119
v.i = *len++;
120120
setspectag(TLN, i, v);
121-
/* must be untouched in the shader it's passed as a float but specified
122-
* as a uint; due to limitations of integer type handling */
123-
r->id.i = i + 1; /* FIXME: if nn may be not 0, have to put id in elsewhere */
124121
}
125122
}
126123

@@ -135,7 +132,7 @@ initedges(ioff nedges, edgeset *eset, ioff *index, ushort *degree)
135132
edgeset *h;
136133
khint_t k;
137134

138-
nn = dylen(edges);
135+
nn = dylen(edges);
139136
nm = nn + 2 * nedges;
140137
dyresize(edges, nm);
141138
dyresize(redges, nedges + nelem(selbox));

glsl/node.glsl

+2-4
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ in vec2 geom;
5050
in vec3 pos;
5151
in vec3 dir;
5252
in float len;
53-
in uint id;
5453
flat out uint idx;
5554

5655
vec2 rotatez(vec2 v, float c, float s){
@@ -61,7 +60,7 @@ void main(){
6160
vec2 g = geom * vec2(len, 1.0);
6261
vec3 r = vec3(rotatez(g, dir.x, dir.y), 0.0);
6362
gl_Position = mvp * vec4(r + pos, 1.0);
64-
idx = id;
63+
idx = gl_InstanceIndex + 1;
6564
}
6665
@end
6766

@@ -133,7 +132,6 @@ in vec3 geom;
133132
in vec3 pos;
134133
in vec3 dir;
135134
in float len;
136-
in uint id;
137135
flat out uint idx;
138136

139137
vec3 rotate(vec3 v, float c, float s){
@@ -147,7 +145,7 @@ void main(){
147145
vec3 g = geom * vec3(len, 1.0, 1.0);
148146
vec3 r = rotate(g, dir.x, dir.y);
149147
gl_Position = mvp * vec4(r + pos, 1.0);
150-
idx = id;
148+
idx = gl_InstanceIndex + 1;
151149
}
152150
@end
153151

0 commit comments

Comments
 (0)