ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/hd/sm_ogl.c
(Generate patch)

Comparing ray/src/hd/sm_ogl.c (file contents):
Revision 3.10 by gwlarson, Mon Dec 28 18:07:35 1998 UTC vs.
Revision 3.11 by gwlarson, Wed Dec 30 13:44:16 1998 UTC

# Line 168 | Line 168 | int lvl;
168    if (QT_IS_TREE(qt) && (QT_IS_EMPTY(le->qt) || lvl > 0))
169    {                                     /* compute children */
170      qtSubdivide_tri(v0,v1,v2,a,b,c);
171 <    rc[0] = qtRender_level(QT_NTH_CHILD(qt,0),v0,a,c,sm,lvl-1);
172 <    rc[1] = qtRender_level(QT_NTH_CHILD(qt,1),a,v1,b,sm,lvl-1);
173 <    rc[2] = qtRender_level(QT_NTH_CHILD(qt,2),c,b,v2,sm,lvl-1);
174 <    rc[3] = qtRender_level(QT_NTH_CHILD(qt,3),b,c,a,sm,lvl-1);
171 >    rc[0] = qtRender_level(QT_NTH_CHILD(qt,0),v0,c,b,sm,lvl-1);
172 >    rc[1] = qtRender_level(QT_NTH_CHILD(qt,1),c,v1,a,sm,lvl-1);
173 >    rc[2] = qtRender_level(QT_NTH_CHILD(qt,2),b,a,v2,sm,lvl-1);
174 >    rc[3] = qtRender_level(QT_NTH_CHILD(qt,3),a,b,c,sm,lvl-1);
175    }
176    if (QT_IS_EMPTY(le->qt))
177    {                                     /* let's make some data! */
# Line 194 | Line 194 | int lvl;
194      {                                   /* from triangle set */
195        OBJECT *os;
196        int s0, s1, s2;
197 <
197 >      
198        os = qtqueryset(qt);
199 <      for (n = os[0]; n; n--)
199 >      for (i = os[0]; i; i--)
200        {
201 <        if(SM_IS_NTH_T_BASE(sm,os[n]))
201 >        if(SM_IS_NTH_T_BASE(sm,os[i]))
202             continue;
203 <        tri = SM_NTH_TRI(sm,os[n]);
203 >        tri = SM_NTH_TRI(sm,os[i]);
204          if(!T_IS_VALID(tri))
205            continue;
206 <        
206 >        n++;
207          s0 = T_NTH_V(tri,0);
208          s1 = T_NTH_V(tri,1);
209          s2 = T_NTH_V(tri,2);
# Line 223 | Line 223 | int lvl;
223          rgbs[2] += SM_NTH_RGB(sm,s0)[2] + SM_NTH_RGB(sm,s1)[2]
224                    + SM_NTH_RGB(sm,s2)[2];
225        }
226 <      n = 3*os[0];
226 >      n *= 3;
227      }
228      if (!n)
229        return(NULL);
# Line 260 | Line 260 | int lvl;
260    STREE *st;
261  
262    
263 <  if (lvl < 1)
263 >  if (lvl < 0)
264      return;
265    st = SM_LOCATOR(sm);
266    glPushAttrib(GL_LIGHTING_BIT);
# Line 270 | Line 270 | int lvl;
270    {
271      qt = ST_ROOT_QT(st,i);
272      qtRender_level(qt,ST_NTH_V(st,i,0),ST_NTH_V(st,i,1),ST_NTH_V(st,i,2),
273 <                   sm,lvl-1);
273 >                   sm,lvl);
274    }
275    glEnd();
276    glPopAttrib();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines