Bläddra i källkod

More support for negative glow

Josh Yelon 17 år sedan
förälder
incheckning
c013cddc92
2 ändrade filer med 3 tillägg och 3 borttagningar
  1. 1 1
      panda/src/pgraph/materialAttrib.cxx
  2. 2 2
      panda/src/pgraph/shaderGenerator.cxx

+ 1 - 1
panda/src/pgraph/materialAttrib.cxx

@@ -36,6 +36,7 @@ CPT(RenderAttrib) MaterialAttrib::
 make(Material *material) {
   MaterialAttrib *attrib = new MaterialAttrib;
   attrib->_material = material;
+  material->set_attrib_lock();
   return return_new(attrib);
 }
 
@@ -181,7 +182,6 @@ make_from_bam(const FactoryParams &params) {
 
   parse_params(params, scan, manager);
   attrib->fillin(scan, manager);
-
   return attrib;
 }
 

+ 2 - 2
panda/src/pgraph/shaderGenerator.cxx

@@ -755,13 +755,13 @@ synthesize_shader(const RenderState *rs) {
     text << "\t // Begin model-space light summation\n";
     if (_have_emission) {
       if (_map_index_glow >= 0) {
-        text << "\t result = attr_material[2] * tex" << _map_index_glow << ".a;\n";
+        text << "\t result = attr_material[2] * saturate(2 * (tex" << _map_index_glow << ".a - 0.5));\n";
       } else {
         text << "\t result = attr_material[2];\n";
       }
     } else {
       if (_map_index_glow >= 0) {
-        text << "\t result = tex" << _map_index_glow << ".aaaa;\n";
+        text << "\t result = saturate(2 * (tex" << _map_index_glow << ".a - 0.5));\n";
       } else {
         text << "\t result = float4(0,0,0,0);\n";
       }