コード例 #1
0
  private void validate(ResourceFactory f) {

    if (diffuseColorDirty) {
      if (diffuseColor != null) {
        material.setDiffuseColor(
            diffuseColor.getRed(), diffuseColor.getGreen(),
            diffuseColor.getBlue(), diffuseColor.getAlpha());
      } else {
        material.setDiffuseColor(0, 0, 0, 0);
      }
      diffuseColorDirty = false;
    }

    if (diffuseMap.isDirty()) {
      if (diffuseMap.getImage() == null) {
        diffuseMap.setImage(WHITE_1X1);
      }
      material.setTextureMap(diffuseMap);
    }
    if (bumpMap.isDirty()) {
      material.setTextureMap(bumpMap);
    }
    if (selfIllumMap.isDirty()) {
      material.setTextureMap(selfIllumMap);
    }
    if (specularMap.isDirty()) {
      material.setTextureMap(specularMap);
    }
    if (specularColorDirty || specularPowerDirty) {
      if (specularColor != null) {
        float r = specularColor.getRed();
        float g = specularColor.getGreen();
        float b = specularColor.getBlue();
        material.setSpecularColor(true, r, g, b, specularPower);
      } else {
        material.setSpecularColor(false, 1, 1, 1, specularPower);
      }
      specularColorDirty = false;
      specularPowerDirty = false;
    }
  }