MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/PhysX / drawHud

Method drawHud

physx/samples/samplevehicle/SampleVehicleDebugRender.cpp:163–247  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

161}
162
163void SampleVehicle::drawHud()
164{
165 const PxVehicleWheels& focusVehicle = *mVehicleManager.getVehicle(mPlayerVehicle);
166 PxVehicleDriveDynData* driveDynData=NULL;
167 PxVehicleDriveSimData* driveSimData=NULL;
168 switch(focusVehicle.getVehicleType())
169 {
170 case PxVehicleTypes::eDRIVE4W:
171 {
172 PxVehicleDrive4W& vehDrive4W=(PxVehicleDrive4W&)focusVehicle;
173 driveDynData=&vehDrive4W.mDriveDynData;
174 driveSimData=&vehDrive4W.mDriveSimData;
175 }
176 break;
177 case PxVehicleTypes::eDRIVENW:
178 {
179 PxVehicleDriveNW& vehDriveNW=(PxVehicleDriveNW&)focusVehicle;
180 driveDynData=&vehDriveNW.mDriveDynData;
181 driveSimData=&vehDriveNW.mDriveSimData;
182 }
183 break;
184 case PxVehicleTypes::eDRIVETANK:
185 {
186 PxVehicleDriveTank& vehDriveTank=(PxVehicleDriveTank&)focusVehicle;
187 driveDynData=&vehDriveTank.mDriveDynData;
188 driveSimData=&vehDriveTank.mDriveSimData;
189 }
190 break;
191 default:
192 PX_ASSERT(false);
193 break;
194 }
195
196 const PxU32 currentGear=driveDynData->getCurrentGear();
197 const PxF32 vz=mForwardSpeedHud*3.6f;
198 const PxF32 revs=driveDynData->getEngineRotationSpeed();
199 const PxF32 maxRevs=driveSimData->getEngineData().mMaxOmega*60*0.5f/PxPi;//Convert from radians per second to rpm
200 const PxF32 invMaxRevs=driveSimData->getEngineData().getRecipMaxOmega();
201
202 //Draw gears and speed.
203
204 const PxF32 x=0.5f;
205 const PxF32 y=0.18f;
206 const PxF32 length=0.1f;
207 const PxF32 textheight=0.02f;
208
209 Renderer* renderer = getRenderer();
210 drawBox2D(renderer, x-length-textheight, x+length+textheight, y, y+length+textheight, RendererColor(255, 255, 255), 0.5f);
211
212 //Gear
213 char gear[PxVehicleGearsData::eGEARSRATIO_COUNT][64]=
214 {
215 "R","N","1","2","3","4","5"
216 };
217 print(renderer, x-0.25f*textheight, y+0.02f, 0.02f, gear[currentGear]);
218
219 //Speed
220 char speed[64];

Callers

nothing calls this directly

Calls 10

drawBox2DFunction · 0.85
PxAbsFunction · 0.85
getVehicleTypeMethod · 0.80
getCurrentGearMethod · 0.80
getRecipMaxOmegaMethod · 0.80
drawLines2DMethod · 0.80
printFunction · 0.70
RendererColorClass · 0.50
getVehicleMethod · 0.45

Tested by

no test coverage detected