📄 sparsematrixongpu3.h
字号:
// SparseMatrixOnGPU3.h: interface for the SparseMatrixOnGPU3 class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SPARSEMATRIXONGPU3_H__5ED70611_5CF2_4221_835A_0EF9041C3F2A__INCLUDED_)
#define AFX_SPARSEMATRIXONGPU3_H__5ED70611_5CF2_4221_835A_0EF9041C3F2A__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "extgl.h"
/////////////////////////////////////////////////////////////////////////////////
//// Paper : Linear Algebra Operators for GPU Implementataion of Numerical Algorithms
//// --Jens Kruger and Rudiger Westermann
//// --SIGGRAPH2003
//// Sparse Matrix represent on GPU
//// Sparse Matrix Operation
/////////////////////////////////////////////////////////////////////////////////
class CKrugerMatrix
{
private:
int _iDim;
int _iWidth, _iHeight;
/////////////////////////////////
GLenum _iTextureTarget;
public:
bool _bInitialized;
bool _bFloat;
int _iChannelsNum;
public:
int *TotalNonZeroNumOfEachColumn;
unsigned int **IndexArray;
int **VertexArray; //Just 2D
float **ColorArray; //Just 1D
float **TextureArray;
public:
CKrugerMatrix();
virtual ~CKrugerMatrix();
void SetData(float *M, int DimSize);
// Returns the Matrix's size
inline int GetTotalNonZeroNum(int i) const { return TotalNonZeroNumOfEachColumn[i];}
int GetDim() const {return _iDim;}
};
#endif // !defined(AFX_SPARSEMATRIXONGPU3_H__5ED70611_5CF2_4221_835A_0EF9041C3F2A__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -