浏览代码

include coverage-samples in FrameBufferProperties

rdb 12 年之前
父节点
当前提交
4690cb4bbf
共有 1 个文件被更改,包括 13 次插入0 次删除
  1. 13 0
      panda/src/display/frameBufferProperties.cxx

+ 13 - 0
panda/src/display/frameBufferProperties.cxx

@@ -94,6 +94,7 @@ get_default() {
     display_cat.error() << "  alpha-bits N\n";
     display_cat.error() << "  stencil-bits N\n";
     display_cat.error() << "  multisamples N\n";
+    display_cat.error() << "  coverage-samples N\n";
     display_cat.error() << "  back-buffers N\n";
   }
 
@@ -236,6 +237,9 @@ output(ostream &out) const {
   if (_property[FBP_multisamples] > 0) {
     out << "multisamples=" << _property[FBP_multisamples] << " ";
   }
+  if (_property[FBP_coverage_samples] > 0) {
+    out << "coverage_samples=" << _property[FBP_coverage_samples] << " ";
+  }
   if (_property[FBP_back_buffers] > 0) {
     out << "back_buffers=" << _property[FBP_back_buffers] << " ";
   }
@@ -360,6 +364,9 @@ is_basic() const {
   if (_property[FBP_multisamples] > 1) {
     return false;
   }
+  if (_property[FBP_coverage_samples] > 0) {
+    return false;
+  }
   if (_property[FBP_back_buffers] > 0) {
     return false;
   }
@@ -535,6 +542,12 @@ get_quality(const FrameBufferProperties &reqs) const {
     quality += 2 * _property[FBP_multisamples];
   }
 
+  // Bonus for each coverage sample.
+  // Extra: 2 per sample.
+  if (reqs._property[FBP_coverage_samples] != 0) {
+    quality += 2 * _property[FBP_coverage_samples];
+  }
+
   // Bonus for each color, alpha, stencil, and accum.
   // Extra: 1 per bit.
   for (int prop=FBP_color_bits; prop<=FBP_accum_bits; prop++) {