MCPcopy Create free account
hub / github.com/OpenNFS/OpenNFS / DrawVroad

Method DrawVroad

src/Renderer/Renderer.cpp:615–640  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

613}
614
615void Renderer::DrawVroad() {
616 if (track->tag == NFS_3 || track->tag == NFS_4) {
617 float vRoadDisplayHeight = 0.2f;
618 uint32_t nVroad = boost::get<shared_ptr<NFS3_4_DATA::TRACK>>(track->trackData)->col.vroadHead.nrec;
619 for (uint32_t vroad_Idx = 0; vroad_Idx < nVroad; ++vroad_Idx) {
620 // Render COL Vroad? Should I use TRK VROAD to work across HS too?
621 if (vroad_Idx < nVroad - 1) {
622 INTPT refPt = boost::get<shared_ptr<NFS3_4_DATA::TRACK>>(
623 track->trackData)->col.vroad[vroad_Idx].refPt;
624 INTPT refPtNext = boost::get<shared_ptr<NFS3_4_DATA::TRACK>>(track->trackData)->col.vroad[
625 vroad_Idx + 1].refPt;
626 glm::vec3 vroadPoint = glm::normalize(glm::quat(glm::vec3(-SIMD_PI / 2, 0, 0))) *
627 glm::vec3((refPt.x / 65536.0f) / 10.f, ((refPt.y / 65536.0f) / 10.f),
628 (refPt.z / 65536.0f) / 10.f);
629 glm::vec3 vroadPointNext = glm::normalize(glm::quat(glm::vec3(-SIMD_PI / 2, 0, 0))) *
630 glm::vec3((refPtNext.x / 65536.0f) / 10.f,
631 ((refPtNext.y / 65536.0f) / 10.f),
632 (refPtNext.z / 65536.0f) / 10.f);
633 vroadPoint.y += vRoadDisplayHeight;
634 vroadPointNext.y += vRoadDisplayHeight;
635 physicsEngine.mydebugdrawer.drawLine(Utils::glmToBullet(vroadPoint),
636 Utils::glmToBullet(vroadPointNext), btVector3(1, 0, 1));
637 }
638 }
639 }
640}
641
642void Renderer::DrawCameraAnimation() {
643 if (track->tag != NFS_3_PS1) {

Callers

nothing calls this directly

Calls 2

glmToBulletFunction · 0.85
drawLineMethod · 0.80

Tested by

no test coverage detected