Browse Source

fix projected shadows

David Rose 17 years ago
parent
commit
25ce8c30e4
1 changed files with 8 additions and 7 deletions
  1. 8 7
      panda/src/tinydisplay/tinyGraphicsStateGuardian.cxx

+ 8 - 7
panda/src/tinydisplay/tinyGraphicsStateGuardian.cxx

@@ -675,9 +675,9 @@ begin_draw_primitives(const GeomPipelineReader *geom_reader,
       {
       {
         CPT(TransformState) render_transform =
         CPT(TransformState) render_transform =
           _cs_transform->compose(_scene_setup->get_world_transform());
           _cs_transform->compose(_scene_setup->get_world_transform());
-        CPT(TransformState) world_transform = 
-          _internal_transform->invert_compose(render_transform);
-        tcdata[si]._mat = world_transform->get_mat();
+        CPT(TransformState) world_inv_transform = 
+          render_transform->invert_compose(_internal_transform);
+        tcdata[si]._mat = world_inv_transform->get_mat();
       }
       }
       if (target_tex_matrix->has_stage(stage)) {
       if (target_tex_matrix->has_stage(stage)) {
         tcdata[si]._mat = tcdata[si]._mat * target_tex_matrix->get_mat(stage);
         tcdata[si]._mat = tcdata[si]._mat * target_tex_matrix->get_mat(stage);
@@ -1372,10 +1372,11 @@ framebuffer_copy_to_texture(Texture *tex, int z, const DisplayRegion *dr,
   if (!setup_gltex(gltex, tex->get_x_size(), tex->get_y_size(), 1)) {
   if (!setup_gltex(gltex, tex->get_x_size(), tex->get_y_size(), 1)) {
     return false;
     return false;
   }
   }
-  gltex->border_color.v[0] = 0.0f;
-  gltex->border_color.v[1] = 0.0f;
-  gltex->border_color.v[2] = 0.0f;
-  gltex->border_color.v[3] = 0.0f;
+  Colorf border_color = tex->get_border_color();
+  gltex->border_color.v[0] = border_color[0];
+  gltex->border_color.v[1] = border_color[1];
+  gltex->border_color.v[2] = border_color[2];
+  gltex->border_color.v[3] = border_color[3];
 
 
   PIXEL *ip = gltex->levels[0].pixmap + gltex->xsize * gltex->ysize;
   PIXEL *ip = gltex->levels[0].pixmap + gltex->xsize * gltex->ysize;
   PIXEL *fo = _c->zb->pbuf + xo + yo * _c->zb->linesize / PSZB;
   PIXEL *fo = _c->zb->pbuf + xo + yo * _c->zb->linesize / PSZB;