Patch from Norman Vine:
Yikes -- Looks like I broke the scenery.current_normal when I last reworked the hitlist code. I guess this is proof that no one has been using it.
This commit is contained in:
parent
830e274238
commit
58a001ad32
1 changed files with 10 additions and 9 deletions
|
@ -212,6 +212,7 @@ int FGHitList::IntersectLeaf( ssgLeaf *leaf, sgdMat4 m,
|
||||||
if( fgdPointInTriangle( point, tri ) ) {
|
if( fgdPointInTriangle( point, tri ) ) {
|
||||||
// transform point into passed into desired coordinate frame
|
// transform point into passed into desired coordinate frame
|
||||||
sgdXformPnt3( point, point, m );
|
sgdXformPnt3( point, point, m );
|
||||||
|
sgdXformPnt4(plane,plane,m);
|
||||||
add(leaf,i,point,plane);
|
add(leaf,i,point,plane);
|
||||||
num_hits++;
|
num_hits++;
|
||||||
}
|
}
|
||||||
|
@ -315,6 +316,7 @@ int FGHitList::IntersectLeaf( ssgLeaf *leaf, sgdMat4 m,
|
||||||
if( fgdPointInTriangle( point, tri ) ) {
|
if( fgdPointInTriangle( point, tri ) ) {
|
||||||
// transform point into passed coordinate frame
|
// transform point into passed coordinate frame
|
||||||
sgdXformPnt3( point, point, m );
|
sgdXformPnt3( point, point, m );
|
||||||
|
sgdXformPnt4(plane,plane,m);
|
||||||
add(leaf,n,point,plane);
|
add(leaf,n,point,plane);
|
||||||
test_dist = tmp_dist;
|
test_dist = tmp_dist;
|
||||||
num_hits++;
|
num_hits++;
|
||||||
|
@ -535,12 +537,10 @@ bool fgCurrentElev( sgdVec3 abs_view_pos, sgdVec3 scenery_center,
|
||||||
sgVec3 tmp;
|
sgVec3 tmp;
|
||||||
sgMat4 TMP;
|
sgMat4 TMP;
|
||||||
sgSetVec3(tmp, hit_list->get_normal(this_hit));
|
sgSetVec3(tmp, hit_list->get_normal(this_hit));
|
||||||
// cout << "cur_normal: " << tmp[0] << " " << tmp[1] << " "
|
// cout << "cur_normal: " << tmp[0] << " " << tmp[1] << " " << tmp[2] << endl;
|
||||||
// << tmp[2] << endl;
|
sgdSetVec3( normal, tmp );
|
||||||
sgTransposeNegateMat4 ( TMP, globals->get_current_view()->get_UP() ) ;
|
// float *up = globals->get_current_view()->get_world_up();
|
||||||
sgXformVec3(tmp, tmp, TMP);
|
// cout << "world_up : " << up[0] << " " << up[1] << " " << up[2] << endl;
|
||||||
// cout << "NED: " << tmp[0] << " " << tmp[1] << " " << tmp[2] << endl;
|
|
||||||
sgdSetVec3( normal, tmp[2], tmp[1], tmp[0] );
|
|
||||||
/* ssgState *IntersectedLeafState =
|
/* ssgState *IntersectedLeafState =
|
||||||
((ssgLeaf*)hit_list->get_entity(this_hit))->getState(); */
|
((ssgLeaf*)hit_list->get_entity(this_hit))->getState(); */
|
||||||
return true;
|
return true;
|
||||||
|
@ -602,9 +602,10 @@ bool fgCurrentElev( sgdVec3 abs_view_pos, sgdVec3 scenery_center,
|
||||||
sgVec3 tmp;
|
sgVec3 tmp;
|
||||||
sgMat4 TMP;
|
sgMat4 TMP;
|
||||||
sgSetVec3(tmp, hit_list->get_normal(this_hit));
|
sgSetVec3(tmp, hit_list->get_normal(this_hit));
|
||||||
sgTransposeNegateMat4 ( TMP, globals->get_current_view()->get_UP() ) ;
|
// cout << "cur_normal: " << tmp[0] << " " << tmp[1] << " " << tmp[2] << endl;
|
||||||
sgXformVec3(tmp, tmp, TMP);
|
sgdSetVec3( normal, tmp );
|
||||||
sgdSetVec3( normal, tmp[2], tmp[1], tmp[0] );
|
// float *up = globals->get_current_view()->get_world_up();
|
||||||
|
// cout << "world_up : " << up[0] << " " << up[1] << " " << up[2] << endl;
|
||||||
/* ssgState *IntersectedLeafState =
|
/* ssgState *IntersectedLeafState =
|
||||||
((ssgLeaf*)hit_list->get_entity(this_hit))->getState(); */
|
((ssgLeaf*)hit_list->get_entity(this_hit))->getState(); */
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in a new issue