Initial
This commit is contained in:
51
proto/source/GEOM.HPP
Normal file
51
proto/source/GEOM.HPP
Normal file
@@ -0,0 +1,51 @@
|
||||
#ifndef _PROTO_GEOMETRY_HPP_
|
||||
#define _PROTO_GEOMETRY_HPP_
|
||||
#ifndef _PROTO_FIXEDPOINT_HPP_
|
||||
#include <proto/fixed.hpp>
|
||||
#endif
|
||||
|
||||
class Geometry
|
||||
{
|
||||
public:
|
||||
enum {Magic=64,HeightFieldWidth=512,HeightFieldHeight=512,HeightFieldBitShift=9,TerrainScalex2=3,
|
||||
MaxSteps=200};
|
||||
Geometry(void);
|
||||
virtual ~Geometry();
|
||||
int viewPlaneDistance(void)const;
|
||||
int deltaSlope(void)const;
|
||||
void screenWidth(int screenWidth);
|
||||
private:
|
||||
int mDeltaSlope;
|
||||
int mViewPlaneDistance;
|
||||
};
|
||||
|
||||
inline
|
||||
Geometry::Geometry(void)
|
||||
: mDeltaSlope(0), mViewPlaneDistance(0)
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
Geometry::~Geometry()
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
int Geometry::viewPlaneDistance(void)const
|
||||
{
|
||||
return mViewPlaneDistance;
|
||||
}
|
||||
|
||||
inline
|
||||
int Geometry::deltaSlope(void)const
|
||||
{
|
||||
return mDeltaSlope;
|
||||
}
|
||||
|
||||
inline
|
||||
void Geometry::screenWidth(int screenWidth)
|
||||
{
|
||||
mViewPlaneDistance=screenWidth/Magic;
|
||||
mDeltaSlope=(1.00/(double)mViewPlaneDistance)*FixedPoint::FPMul;
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user