• R/O
  • SSH

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Revision16202daaf3a0452c6d0d28cb1381aeba50ce73bf (tree)
Time2018-07-09 06:45:16
AuthorPavel Rojtberg <rojtberg@gmai...>
CommiterPavel Rojtberg

Log Message

Samples: VolumeTex - fix bounds computations

Change Summary

Incremental Difference

diff -r 81ecb2520c5e -r 16202daaf3a0 Samples/VolumeTex/src/ThingRenderable.cpp
--- a/Samples/VolumeTex/src/ThingRenderable.cpp Sun Jul 08 23:37:12 2018 +0200
+++ b/Samples/VolumeTex/src/ThingRenderable.cpp Sun Jul 08 23:45:16 2018 +0200
@@ -168,13 +168,6 @@
168168 }
169169 Ogre::Real ThingRenderable::getSquaredViewDepth(const Ogre::Camera* cam) const
170170 {
171- Ogre::Vector3 min, max, mid, dist;
172-
173- min = mBox.getMinimum();
174- max = mBox.getMaximum();
175- mid = ((min - max) * 0.5) + min;
176- dist = cam->getDerivedPosition() - mid;
177-
178- return dist.squaredLength();
171+ return (cam->getDerivedPosition() - mBox.getCenter()).squaredLength();
179172 }
180173
diff -r 81ecb2520c5e -r 16202daaf3a0 Samples/VolumeTex/src/VolumeRenderable.cpp
--- a/Samples/VolumeTex/src/VolumeRenderable.cpp Sun Jul 08 23:37:12 2018 +0200
+++ b/Samples/VolumeTex/src/VolumeRenderable.cpp Sun Jul 08 23:45:16 2018 +0200
@@ -27,11 +27,11 @@
2727
2828 VolumeRenderable::VolumeRenderable(size_t nSlices, float size, const String &texture):
2929 mSlices(nSlices),
30- mSize(size),
30+ mSize(size/2),
3131 mTexture(texture)
3232 {
33- mRadius = sqrtf(size*size+size*size+size*size)/2.0f;
34- mBox = Ogre::AxisAlignedBox(-size, -size, -size, size, size, size);
33+ mBox = Ogre::AxisAlignedBox(-mSize, -mSize, -mSize, mSize, mSize, mSize);
34+ mRadius = mBox.getMaximum().length();
3535
3636 // No shadows
3737 setCastShadows(false);
@@ -132,9 +132,9 @@
132132 float zcoord = -((float)x/(float)(mSlices-1) - 0.5f);
133133 // 1.0f .. a/(a+1)
134134 // coordinate
135- vertices[x*4*elemsize+y*elemsize+0] = xcoord*(mSize/2.0f);
136- vertices[x*4*elemsize+y*elemsize+1] = ycoord*(mSize/2.0f);
137- vertices[x*4*elemsize+y*elemsize+2] = zcoord*(mSize/2.0f);
135+ vertices[x*4*elemsize+y*elemsize+0] = xcoord*mSize;
136+ vertices[x*4*elemsize+y*elemsize+1] = ycoord*mSize;
137+ vertices[x*4*elemsize+y*elemsize+2] = zcoord*mSize;
138138 // normal
139139 vertices[x*4*elemsize+y*elemsize+3] = 0.0f;
140140 vertices[x*4*elemsize+y*elemsize+4] = 0.0f;
@@ -232,13 +232,6 @@
232232 }
233233 Ogre::Real VolumeRenderable::getSquaredViewDepth(const Ogre::Camera* cam) const
234234 {
235- Ogre::Vector3 min, max, mid, dist;
236-
237- min = mBox.getMinimum();
238- max = mBox.getMaximum();
239- mid = ((min - max) * 0.5) + min;
240- dist = cam->getDerivedPosition() - mid;
241-
242- return dist.squaredLength();
235+ return (cam->getDerivedPosition() - mBox.getCenter()).squaredLength();
243236 }
244237