• 大小: 3.56MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-28
  • 语言: C/C++
  • 标签: QSplat  C++  斯坦福  

资源简介

QSplat:基于点绘制的图形学开山之作,由斯坦福大学计算机图形学实验室开发 包含如下文件: QSplat程序,以及把ply程序转化为QSplat能够读取的qs文件的QSplatMake程序,以及以上两程序的完整C++代码; QSplat经典论文,以及完整版中文翻译; 关于QSplat的斯坦福原版PPT

资源截图

代码片段和文件信息

/*
Szymon Rusinkiewicz

qsplat_colorquant.cpp
Quantize a color to 16 bits 565.

Copyright (c) 1999-2000 The Board of Trustees of the
Leland Stanford Junior University.  All Rights Reserved.
*/


#include 
#include “qsplat_colorquant.h“


// Class static variables
float *QSplat_ColorQuant::colorquant_table = NULL;


// Set up the quantization tables
void QSplat_ColorQuant::Init()
{
if (colorquant_table)
return;

colorquant_table = new float[3*65536];

int index = 0;
for (unsigned r = 0; r < 32; r++) {
  for (unsigned g = 0; g < 64; g++) {
    for (unsigned b = 0; b < 32; b++) {
colorquant_table[index++] = float((r << 3) | (r >> 2)) / 255.0f;
colorquant_table[index++] = float((g << 2) | (g >> 4)) / 255.0f;
colorquant_table[index++] = float((b << 3) | (b >> 2)) / 255.0f;
    }
  }
}
}


// Quantize a color
void QSplat_ColorQuant::quantize(const unsigned char *rgb unsigned char *q)
{
        unsigned R = (unsigned) (0.125f * (* rgb   ));
        unsigned G = (unsigned) (0.25f  * (*(rgb+1)));
        unsigned B = (unsigned) (0.125f * (*(rgb+2)));
        
        (* q   ) = ((R << 3) | (G >> 3)) & 0xff;
        (*(q+1)) = ((G << 5) | (B     )) & 0xff;
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-11-18 19:13  qsplat-1.0\
     文件      122880  2000-07-22 22:20  qsplat-1.0\QSplat.exe
     文件       86016  2000-07-22 22:20  qsplat-1.0\QSplatMake.exe
     文件        7669  2000-07-22 22:20  qsplat-1.0\README
     目录           0  2016-11-19 21:10  qsplat-1.0\doc\
     文件      671773  2016-11-19 21:09  qsplat-1.0\doc\QSplat paper 完整版翻译(独家).pdf
     文件     1086464  2015-03-02 20:15  qsplat-1.0\doc\QSplat_sg2k.ppt
     文件     6147544  2016-09-01 15:35  qsplat-1.0\doc\matt_wk12_QSplat.pdf
     目录           0  2016-11-18 19:30  qsplat-1.0\src\
     文件         428  2000-07-22 22:01  qsplat-1.0\src\Makedefs.IRIX
     文件         284  2000-07-22 22:01  qsplat-1.0\src\Makedefs.Linux
     文件         288  2000-07-22 22:01  qsplat-1.0\src\Makedefs.Win32
     文件        2012  2000-07-22 22:01  qsplat-1.0\src\Makefile
     文件        6319  2000-07-22 22:01  qsplat-1.0\src\QSplatWin32.dsp
     文件         795  2000-07-22 22:01  qsplat-1.0\src\QSplatWin32.dsw
     文件      312320  2000-07-22 22:01  qsplat-1.0\src\QSplatWin32.ncb
     文件       58880  2000-07-22 22:01  qsplat-1.0\src\QSplatWin32.opt
     文件        1793  2000-07-22 22:01  qsplat-1.0\src\QSplatWin32.plg
     文件        5257  2000-07-22 22:01  qsplat-1.0\src\QsplatMake.dsp
     文件        1020  2000-07-22 22:01  qsplat-1.0\src\QsplatMake.plg
     文件        2560  2016-11-18 19:30  qsplat-1.0\src\Thumbs.db
     文件        2998  2000-07-22 22:01  qsplat-1.0\src\icon1.ico
     文件        1717  2000-07-22 22:01  qsplat-1.0\src\mempool.h
     文件        1196  2000-07-22 22:01  qsplat-1.0\src\qsplat_colorquant.cpp
     文件         589  2000-07-22 22:01  qsplat-1.0\src\qsplat_colorquant.h
     文件        5475  2000-07-22 22:01  qsplat-1.0\src\qsplat_draw_gl.cpp
     文件        4842  2000-07-22 22:01  qsplat-1.0\src\qsplat_draw_gl_ellip.cpp
     文件        8257  2000-07-22 22:01  qsplat-1.0\src\qsplat_draw_software.cpp
     文件       17584  2000-07-22 22:01  qsplat-1.0\src\qsplat_draw_software_tiles.cpp
     文件        1519  2000-07-22 22:01  qsplat-1.0\src\qsplat_draw_spheres.cpp
     文件        8348  2000-07-22 22:01  qsplat-1.0\src\qsplat_gui_camera.cpp
............此处省略29个文件信息

评论

共有 条评论