[Bf-blender-cvs] [fcf8f01] master: BGE: Cleanup occlusion buffer in CcdPhysicsEnvironment.cpp
Porteries Tristan
noreply at git.blender.org
Thu Nov 5 12:34:33 CET 2015
Commit: fcf8f01ca01a3c6b51014324794ffa0a14960dc4
Author: Porteries Tristan
Date: Thu Nov 5 12:34:31 2015 +0100
Branches: master
https://developer.blender.org/rBfcf8f01ca01a3c6b51014324794ffa0a14960dc4
BGE: Cleanup occlusion buffer in CcdPhysicsEnvironment.cpp
This patch cleanup spaces/braces and newlines.
Reviewers: moguri, kupoman
Reviewed By: moguri, kupoman
Subscribers: kupoman
Differential Revision: https://developer.blender.org/D1607
===================================================================
M source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
===================================================================
diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
index bf81a18..d7b0436 100644
--- a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
+++ b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
@@ -1405,98 +1405,111 @@ struct OcclusionBuffer
{
struct WriteOCL
{
- static inline bool Process(btScalar& q,btScalar v) { if (q<v) q=v;return(false); }
- static inline void Occlusion(bool& flag) { flag = true; }
+ static inline bool Process(btScalar &q, btScalar v)
+ {
+ if (q < v) {
+ q = v;
+ }
+ return false;
+ }
+ static inline void Occlusion(bool &flag)
+ {
+ flag = true;
+ }
};
+
struct QueryOCL
{
- static inline bool Process(btScalar& q,btScalar v) { return(q<=v); }
- static inline void Occlusion(bool& flag) { }
+ static inline bool Process(btScalar &q, btScalar v)
+ {
+ return (q <= v);
+ }
+ static inline void Occlusion(bool &flag)
+ {
+ }
};
- btScalar* m_buffer;
- size_t m_bufferSize;
- bool m_initialized;
- bool m_occlusion;
- int m_sizes[2];
- btScalar m_scales[2];
- btScalar m_offsets[2];
- btScalar m_wtc[16]; // world to clip transform
- btScalar m_mtc[16]; // model to clip transform
+
+ btScalar *m_buffer;
+ size_t m_bufferSize;
+ bool m_initialized;
+ bool m_occlusion;
+ int m_sizes[2];
+ btScalar m_scales[2];
+ btScalar m_offsets[2];
+ btScalar m_wtc[16]; // world to clip transform
+ btScalar m_mtc[16]; // model to clip transform
// constructor: size=largest dimension of the buffer.
// Buffer size depends on aspect ratio
OcclusionBuffer()
{
- m_initialized=false;
+ m_initialized = false;
m_occlusion = false;
m_buffer = NULL;
m_bufferSize = 0;
}
- // multiplication of column major matrices: m=m1*m2
+ // multiplication of column major matrices: m = m1 * m2
template<typename T1, typename T2>
- void CMmat4mul(btScalar* m, const T1* m1, const T2* m2)
+ void CMmat4mul(btScalar *m, const T1 *m1, const T2 *m2)
{
- m[ 0] = btScalar(m1[ 0]*m2[ 0]+m1[ 4]*m2[ 1]+m1[ 8]*m2[ 2]+m1[12]*m2[ 3]);
- m[ 1] = btScalar(m1[ 1]*m2[ 0]+m1[ 5]*m2[ 1]+m1[ 9]*m2[ 2]+m1[13]*m2[ 3]);
- m[ 2] = btScalar(m1[ 2]*m2[ 0]+m1[ 6]*m2[ 1]+m1[10]*m2[ 2]+m1[14]*m2[ 3]);
- m[ 3] = btScalar(m1[ 3]*m2[ 0]+m1[ 7]*m2[ 1]+m1[11]*m2[ 2]+m1[15]*m2[ 3]);
+ m[0] = btScalar(m1[0] * m2[0] + m1[4] * m2[1] + m1[8] * m2[2] + m1[12] * m2[3]);
+ m[1] = btScalar(m1[1] * m2[0] + m1[5] * m2[1] + m1[9] * m2[2] + m1[13] * m2[3]);
+ m[2] = btScalar(m1[2] * m2[0] + m1[6] * m2[1] + m1[10] * m2[2] + m1[14] * m2[3]);
+ m[3] = btScalar(m1[3] * m2[0] + m1[7] * m2[1] + m1[11] * m2[2] + m1[15] * m2[3]);
- m[ 4] = btScalar(m1[ 0]*m2[ 4]+m1[ 4]*m2[ 5]+m1[ 8]*m2[ 6]+m1[12]*m2[ 7]);
- m[ 5] = btScalar(m1[ 1]*m2[ 4]+m1[ 5]*m2[ 5]+m1[ 9]*m2[ 6]+m1[13]*m2[ 7]);
- m[ 6] = btScalar(m1[ 2]*m2[ 4]+m1[ 6]*m2[ 5]+m1[10]*m2[ 6]+m1[14]*m2[ 7]);
- m[ 7] = btScalar(m1[ 3]*m2[ 4]+m1[ 7]*m2[ 5]+m1[11]*m2[ 6]+m1[15]*m2[ 7]);
+ m[4] = btScalar(m1[0] * m2[4] + m1[4] * m2[5] + m1[8] * m2[6] + m1[12] * m2[7]);
+ m[5] = btScalar(m1[1] * m2[4] + m1[5] * m2[5] + m1[9] * m2[6] + m1[13] * m2[7]);
+ m[6] = btScalar(m1[2] * m2[4] + m1[6] * m2[5] + m1[10] * m2[6] + m1[14] * m2[7]);
+ m[7] = btScalar(m1[3] * m2[4] + m1[7] * m2[5] + m1[11] * m2[6] + m1[15] * m2[7]);
- m[ 8] = btScalar(m1[ 0]*m2[ 8]+m1[ 4]*m2[ 9]+m1[ 8]*m2[10]+m1[12]*m2[11]);
- m[ 9] = btScalar(m1[ 1]*m2[ 8]+m1[ 5]*m2[ 9]+m1[ 9]*m2[10]+m1[13]*m2[11]);
- m[10] = btScalar(m1[ 2]*m2[ 8]+m1[ 6]*m2[ 9]+m1[10]*m2[10]+m1[14]*m2[11]);
- m[11] = btScalar(m1[ 3]*m2[ 8]+m1[ 7]*m2[ 9]+m1[11]*m2[10]+m1[15]*m2[11]);
+ m[8] = btScalar(m1[0] * m2[8] + m1[4] * m2[9] + m1[8] * m2[10] + m1[12] * m2[11]);
+ m[9] = btScalar(m1[1] * m2[8] + m1[5] * m2[9] + m1[9] * m2[10] + m1[13] * m2[11]);
+ m[10] = btScalar(m1[2] * m2[8] + m1[6] * m2[9] + m1[10] * m2[10] + m1[14] * m2[11]);
+ m[11] = btScalar(m1[3] * m2[8] + m1[7] * m2[9] + m1[11] * m2[10] + m1[15] * m2[11]);
- m[12] = btScalar(m1[ 0]*m2[12]+m1[ 4]*m2[13]+m1[ 8]*m2[14]+m1[12]*m2[15]);
- m[13] = btScalar(m1[ 1]*m2[12]+m1[ 5]*m2[13]+m1[ 9]*m2[14]+m1[13]*m2[15]);
- m[14] = btScalar(m1[ 2]*m2[12]+m1[ 6]*m2[13]+m1[10]*m2[14]+m1[14]*m2[15]);
- m[15] = btScalar(m1[ 3]*m2[12]+m1[ 7]*m2[13]+m1[11]*m2[14]+m1[15]*m2[15]);
+ m[12] = btScalar(m1[0] * m2[12] + m1[4] * m2[13] + m1[8] * m2[14] + m1[12] * m2[15]);
+ m[13] = btScalar(m1[1] * m2[12] + m1[5] * m2[13] + m1[9] * m2[14] + m1[13] * m2[15]);
+ m[14] = btScalar(m1[2] * m2[12] + m1[6] * m2[13] + m1[10] * m2[14] + m1[14] * m2[15]);
+ m[15] = btScalar(m1[3] * m2[12] + m1[7] * m2[13] + m1[11] * m2[14] + m1[15] * m2[15]);
}
- void setup(int size, const int *view, double modelview[16], double projection[16])
+
+ void setup(int size, const int *view, double modelview[16], double projection[16])
{
- m_initialized=false;
- m_occlusion=false;
+ m_initialized = false;
+ m_occlusion = false;
// compute the size of the buffer
- int maxsize;
- double ratio;
- maxsize = (view[2] > view[3]) ? view[2] : view[3];
+ int maxsize = (view[2] > view[3]) ? view[2] : view[3];
assert(maxsize > 0);
- ratio = 1.0/(2*maxsize);
+ double ratio = 1.0 / (2 * maxsize);
// ensure even number
- m_sizes[0] = 2*((int)(size*view[2]*ratio+0.5));
- m_sizes[1] = 2*((int)(size*view[3]*ratio+0.5));
- m_scales[0]=btScalar(m_sizes[0]/2);
- m_scales[1]=btScalar(m_sizes[1]/2);
- m_offsets[0]=m_scales[0]+0.5f;
- m_offsets[1]=m_scales[1]+0.5f;
+ m_sizes[0] = 2 * ((int)(size * view[2] * ratio + 0.5));
+ m_sizes[1] = 2 * ((int)(size * view[3] * ratio + 0.5));
+ m_scales[0] = btScalar(m_sizes[0] / 2);
+ m_scales[1] = btScalar(m_sizes[1] / 2);
+ m_offsets[0] = m_scales[0] + 0.5f;
+ m_offsets[1] = m_scales[1] + 0.5f;
// prepare matrix
// at this time of the rendering, the modelview matrix is the
// world to camera transformation and the projection matrix is
// camera to clip transformation. combine both so that
CMmat4mul(m_wtc, projection, modelview);
}
- void initialize()
+
+ void initialize()
{
- size_t newsize = (m_sizes[0]*m_sizes[1])*sizeof(btScalar);
- if (m_buffer)
- {
+ size_t newsize = (m_sizes[0] * m_sizes[1]) * sizeof(btScalar);
+ if (m_buffer) {
// see if we can reuse
- if (newsize > m_bufferSize)
- {
+ if (newsize > m_bufferSize) {
free(m_buffer);
m_buffer = NULL;
m_bufferSize = 0;
}
}
- if (!m_buffer)
- {
- m_buffer = (btScalar*)calloc(1, newsize);
+ if (!m_buffer) {
+ m_buffer = (btScalar *)calloc(1, newsize);
m_bufferSize = newsize;
- } else
- {
+ }
+ else {
// buffer exists already, just clears it
memset(m_buffer, 0, newsize);
}
@@ -1505,163 +1518,169 @@ struct OcclusionBuffer
m_initialized = true;
m_occlusion = false;
}
- void SetModelMatrix(double *fl)
+
+ void SetModelMatrix(double *fl)
{
CMmat4mul(m_mtc,m_wtc,fl);
- if (!m_initialized)
+ if (!m_initialized) {
initialize();
+ }
}
// transform a segment in world coordinate to clip coordinate
- void transformW(const btVector3& x, btVector4& t)
+ void transformW(const btVector3 &x, btVector4 &t)
{
- t[0] = x[0]*m_wtc[0]+x[1]*m_wtc[4]+x[2]*m_wtc[8]+m_wtc[12];
- t[1] = x[0]*m_wtc[1]+x[1]*m_wtc[5]+x[2]*m_wtc[9]+m_wtc[13];
- t[2] = x[0]*m_wtc[2]+x[1]*m_wtc[6]+x[2]*m_wtc[10]+m_wtc[14];
- t[3] = x[0]*m_wtc[3]+x[1]*m_wtc[7]+x[2]*m_wtc[11]+m_wtc[15];
+ t[0] = x[0] * m_wtc[0] + x[1] * m_wtc[4] + x[2] * m_wtc[8] + m_wtc[12];
+ t[1] = x[0] * m_wtc[1] + x[1] * m_wtc[5] + x[2] * m_wtc[9] + m_wtc[13];
+ t[2] = x[0] * m_wtc[2] + x[1] * m_wtc[6] + x[2] * m_wtc[10] + m_wtc[14];
+ t[3] = x[0] * m_wtc[3] + x[1] * m_wtc[7] + x[2] * m_wtc[11] + m_wtc[15];
}
- void transformM(const float* x, btVector4& t)
+
+ void transformM(const float *x, btVector4 &t)
{
- t[0] = x[0]*m_mtc[0]+x[1]*m_mtc[4]+x[2]*m_mtc[8]+m_mtc[12];
- t[1] = x[0]*m_mtc[1]+x[1]*m_mtc[5]+x[2]*m_mtc[9]+m_mtc[13];
- t[2] = x[0]*m_mtc[2]+x[1]*m_mtc[6]+x[2]*m_mtc[10]+m_mtc[14];
- t[3] = x[0]*m_mtc[3]+x[1]*m_mtc[7]+x[2]*m_mtc[11]+m_mtc[15];
+ t[0] = x[0] * m_mtc[0] + x[1] * m_mtc[4] + x[2] * m_mtc[8] + m_mtc[12];
+ t[1] = x[0] * m_mtc[1] + x[1] * m_mtc[5] + x[2] * m_mtc[9] + m_mtc[13];
+ t[2] = x[0] * m_mtc[2] + x[1] * m_mtc[6] + x[2] * m_mtc[10] + m_mtc[14];
+ t[3] = x[0] * m_mtc[3] + x[1] * m_mtc[7] + x[2] * m_mtc[11] + m_mtc[15];
}
// convert polygon to device coordinates
- static bool project(btVector4* p,int n)
+ static bool project(btVector4 *p, int n)
{
- for (int i=0;i<n;++i)
- {
- p[i][2]=1/p[i][3];
- p[i][0]*=p[i][2];
- p[i][1]*=p[i][2];
+ for (int i = 0; i < n; ++i) {
+ p[i][2] = 1 / p[i][3];
+ p[i][0] *= p[i][2];
+ p[i][1] *= p[i][2];
}
- return(true);
+ return true;
}
// pi: closed polygon in clip coordinate, NP = number of segments
// po: same polygon with clipped segments removed
template <const int NP>
- static int clip(const btVector4* pi,btVector4* po)
+ static int clip(const btVector4 *pi, btVector4 *po)
{
- btScalar s[2*NP];
- btVector4 pn[2*NP];
- int i, j, m, n, ni;
+ btScalar s[2 * NP];
+ btVector4 pn[2 * NP];
+ int i, j, m, n, ni;
// deal with near clipping
- for (i=0, m=0;i<NP;++i)
- {
- s[i]=pi[i][2]+pi[i][3];
- if (s[i]<0) m+=1<<i;
+ for (i = 0, m = 0; i < NP; ++i) {
+ s[i] = pi[i][2] + pi[i][3];
+ if (s[i] < 0) {
+ m += 1 << i;
+ }
}
- if (m==((1<<NP)-1))
- return(0);
- if (m!=0)
- {
- for (i=NP-1,j=0,n=0;j<NP;i=j++)
- {
- const btVector4& a=pi[i];
- const btVector4& b=pi[j];
- const btScalar t=s[i]/(a[3]+a[2]-b[3]-b[2]);
- if ((t>0)&&(t<1))
- {
- pn[n][0] = a[0]+(b[0]-a[0])*t;
- pn[n][1] = a[1]+(b[1]-a[1])*t;
- pn[n][2] = a[2]+(b[2]-a[2])*t;
- pn[n][3] = a[3]+(b[3]-a[3])*t;
+ if (m == ((1 << NP) - 1)) {
+ return 0;
+ }
+ if (m != 0) {
+ for (i = NP - 1, j = 0, n = 0; j < NP; i = j++) {
+ const btVector4 &a = pi[i];
+ const btVector4 &b = pi[j];
+ const btScalar t = s[i] / (a[3] + a[2] - b[3] - b[2]);
+ if ((t > 0) && (t < 1)) {
+ pn[n][0] = a[0] + (b[0] - a[0]) * t;
+ pn[n][1] = a[1] + (b[1] - a[1]) * t;
+ pn[n][2] = a[2] + (b[2] - a[2]) * t;
+ pn[n][3] =
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list