Changeset 1136


Ignore:
Timestamp:
Jan 27, 2012, 9:05:03 AM (8 years ago)
Author:
sam
Message:

math: try to implement the magic getter/setter pattern. BREAKS BUILD.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/monsterz/title.cpp

    r1135 r1136  
    145145
    146146    data->ground = Tiler::Register(PNG_TITLE_GROUND, ivec2(384, 80), ivec2(0), 1.0f);
    147     data->ground_pos = ivec2((bbox[1] - bbox[0]).xy() / vec2(2, 4))
     147vec2(1,2).xy - vec2(2, 4);
     148    data->ground_pos = ivec2((bbox[1] - bbox[0]).xy / vec2(2, 4))
    148149                     - ivec2(192, 80);
    149150
    150151    data->rocks = Tiler::Register(PNG_TITLE_ROCKS, ivec2(640, 155), ivec2(0), 1.0f);
    151     data->rocks_pos = ivec2((bbox[1] - bbox[0]).xy() / vec2(2, 2))
     152    data->rocks_pos = ivec2((bbox[1] - bbox[0]).xy / vec2(2, 2))
    152153                    - ivec2(320, 240);
    153154
  • trunk/src/input.cpp

    r1135 r1136  
    135135        if (data->entities[n] == top)
    136136        {
    137             data->entities[n]->mousepos = coord - (ivec2)top->bbox[0].xy();
     137            data->entities[n]->mousepos = coord - (ivec2)top->bbox[0].xy;
    138138            if (top != data->lastfocus)
    139139                data->entities[n]->pressed = data->buttons;
  • trunk/src/lol/math/matrix.h

    r1135 r1136  
    5050VECTOR_TYPES(Mat4, mat4)
    5151
     52/*
     53 * Magic swizzling (part 1/2)
     54 */
     55
     56template<typename T, int I, int J> struct MagicVec2
     57{
     58    inline Vec2<T> operator =(Vec2<T> that);
     59
     60    float ptr[1 + (I > J ? I : J)];
     61};
     62
     63template<typename T, int I, int J, int K> struct MagicVec3
     64{
     65    inline Vec3<T> operator =(Vec3<T> that);
     66
     67    float ptr[1 + (I > J ? I > K ? I : K
     68                         : J > K ? J : K)];
     69};
     70
     71template<typename T, int I, int J, int K, int L> struct MagicVec4
     72{
     73    inline Vec4<T> operator =(Vec4<T> that);
     74
     75    float ptr[1 + (I > J ? I > K ? I > L ? I : L : K > L ? K : L
     76                         : J > K ? J > L ? J : L : K > L ? K : L)];
     77};
     78
    5279#define MEMBER_OPS() \
    5380    inline T& operator[](int n) { return *(&x + n); } \
     
    112139    }
    113140
    114 #define SWIZZLE2(e1, e2) \
    115     inline Vec2<T> e1##e2() const \
    116     { \
    117         return Vec2<T>(this->e1, this->e2); \
    118     }
    119 
    120 #define SWIZZLE3(e1, e2, e3) \
    121     inline Vec3<T> e1##e2##e3() const \
    122     { \
    123         return Vec3<T>(this->e1, this->e2, this->e3); \
    124     }
    125 
    126 #define SWIZZLE4(e1, e2, e3, e4) \
    127     inline Vec4<T> e1##e2##e3##e4() const \
    128     { \
    129         return Vec4<T>(this->e1, this->e2, this->e3, this->e4); \
    130     }
    131 
    132 #define SWIZZLE22(e1) \
    133     SWIZZLE2(e1, x); SWIZZLE2(e1, y);
    134 #define SWIZZLE23(e1) \
    135     SWIZZLE2(e1, x); SWIZZLE2(e1, y); SWIZZLE2(e1, z);
    136 #define SWIZZLE24(e1) \
    137     SWIZZLE2(e1, x); SWIZZLE2(e1, y); SWIZZLE2(e1, z); SWIZZLE2(e1, w);
    138 
    139 #define SWIZZLE32(e1, e2) \
    140     SWIZZLE3(e1, e2, x); SWIZZLE3(e1, e2, y);
    141 #define SWIZZLE322(e1) \
    142     SWIZZLE32(e1, x); SWIZZLE32(e1, y);
    143 #define SWIZZLE33(e1, e2) \
    144     SWIZZLE3(e1, e2, x); SWIZZLE3(e1, e2, y); SWIZZLE3(e1, e2, z);
    145 #define SWIZZLE333(e1) \
    146     SWIZZLE33(e1, x); SWIZZLE33(e1, y); SWIZZLE33(e1, z);
    147 #define SWIZZLE34(e1, e2) \
    148     SWIZZLE3(e1, e2, x); SWIZZLE3(e1, e2, y); \
    149     SWIZZLE3(e1, e2, z); SWIZZLE3(e1, e2, w);
    150 #define SWIZZLE344(e1) \
    151     SWIZZLE34(e1, x); SWIZZLE34(e1, y); \
    152     SWIZZLE34(e1, z); SWIZZLE34(e1, w);
    153 
    154 #define SWIZZLE42(e1, e2, e3) \
    155     SWIZZLE4(e1, e2, e3, x); SWIZZLE4(e1, e2, e3, y);
    156 #define SWIZZLE422(e1, e2) \
    157     SWIZZLE42(e1, e2, x); SWIZZLE42(e1, e2, y);
    158 #define SWIZZLE4222(e1) \
    159     SWIZZLE422(e1, x); SWIZZLE422(e1, y);
    160 #define SWIZZLE43(e1, e2, e3) \
    161     SWIZZLE4(e1, e2, e3, x); SWIZZLE4(e1, e2, e3, y); SWIZZLE4(e1, e2, e3, z);
    162 #define SWIZZLE433(e1, e2) \
    163     SWIZZLE43(e1, e2, x); SWIZZLE43(e1, e2, y); SWIZZLE43(e1, e2, z);
    164 #define SWIZZLE4333(e1) \
    165     SWIZZLE433(e1, x); SWIZZLE433(e1, y); SWIZZLE433(e1, z);
    166 #define SWIZZLE44(e1, e2, e3) \
    167     SWIZZLE4(e1, e2, e3, x); SWIZZLE4(e1, e2, e3, y); \
    168     SWIZZLE4(e1, e2, e3, z); SWIZZLE4(e1, e2, e3, w);
    169 #define SWIZZLE444(e1, e2) \
    170     SWIZZLE44(e1, e2, x); SWIZZLE44(e1, e2, y); \
    171     SWIZZLE44(e1, e2, z); SWIZZLE44(e1, e2, w);
    172 #define SWIZZLE4444(e1) \
    173     SWIZZLE444(e1, x); SWIZZLE444(e1, y); SWIZZLE444(e1, z); SWIZZLE444(e1, w);
    174 
    175141/*
    176142 * 2-element vectors
     
    185151    inline Vec2(T _x, T _y) { x = _x; y = _y; }
    186152
     153    template<int I, int J>
     154    inline Vec2<T>(MagicVec2<T, I, J> const &v)
     155      : x(v.ptr[I]), y(v.ptr[J]) {}
     156
    187157    MEMBER_OPS()
    188158    OTHER_MEMBER_OPS(Vec2)
    189 
    190     SWIZZLE22(x); SWIZZLE22(y);
    191     SWIZZLE322(x); SWIZZLE322(y);
    192     SWIZZLE4222(x); SWIZZLE4222(y);
    193159
    194160#if !defined __ANDROID__
     
    202168        struct { T r, g; };
    203169        struct { T s, t; };
     170
     171        MagicVec2<T,0,0> xx, rr, ss;
     172        MagicVec2<T,0,1> xy, rg, st;
     173        MagicVec2<T,1,0> yx, gr, ts;
     174        MagicVec2<T,1,1> yy, gg, tt;
     175        MagicVec3<T,0,0,0> xxx, rrr, sss;
     176        MagicVec3<T,0,0,1> xxy, rrg, sst;
     177        MagicVec3<T,0,1,0> xyx, rgr, sts;
     178        MagicVec3<T,0,1,1> xyy, rgg, stt;
     179        MagicVec3<T,1,0,0> yxx, grr, tss;
     180        MagicVec3<T,1,0,1> yxy, grg, tst;
     181        MagicVec3<T,1,1,0> yyx, ggr, tts;
     182        MagicVec3<T,1,1,1> yyy, ggg, ttt;
     183        MagicVec4<T,0,0,0,0> xxxx, rrrr, ssss;
     184        MagicVec4<T,0,0,0,1> xxxy, rrrg, ssst;
     185        MagicVec4<T,0,0,1,0> xxyx, rrgr, ssts;
     186        MagicVec4<T,0,0,1,1> xxyy, rrgg, sstt;
     187        MagicVec4<T,0,1,0,0> xyxx, rgrr, stss;
     188        MagicVec4<T,0,1,0,1> xyxy, rgrg, stst;
     189        MagicVec4<T,0,1,1,0> xyyx, rggr, stts;
     190        MagicVec4<T,0,1,1,1> xyyy, rggg, sttt;
     191        MagicVec4<T,1,0,0,0> yxxx, grrr, tsss;
     192        MagicVec4<T,1,0,0,1> yxxy, grrg, tsst;
     193        MagicVec4<T,1,0,1,0> yxyx, grgr, tsts;
     194        MagicVec4<T,1,0,1,1> yxyy, grgg, tstt;
     195        MagicVec4<T,1,1,0,0> yyxx, ggrr, ttss;
     196        MagicVec4<T,1,1,0,1> yyxy, ggrg, ttst;
     197        MagicVec4<T,1,1,1,0> yyyx, gggr, ttts;
     198        MagicVec4<T,1,1,1,1> yyyy, gggg, tttt;
    204199    };
    205200};
     
    279274    inline Vec3(T _x, Vec2<T> _yz) { x = _x; y = _yz.x; z = _yz.y; }
    280275
     276    template<int I, int J, int K>
     277    inline Vec3<T>(MagicVec3<T, I, J, K> const &v)
     278      : x(v.ptr[I]), y(v.ptr[J]), z(v.ptr[K]) {}
     279
    281280    MEMBER_OPS()
    282281    OTHER_MEMBER_OPS(Vec3)
    283 
    284     SWIZZLE23(x); SWIZZLE23(y); SWIZZLE23(z);
    285     SWIZZLE333(x); SWIZZLE333(y); SWIZZLE333(z);
    286     SWIZZLE4333(x); SWIZZLE4333(y); SWIZZLE4333(z);
    287282
    288283    template<typename U>
     
    299294        struct { T r, g, b; };
    300295        struct { T s, t, p; };
     296
     297        MagicVec2<T,0,0> xx, rr, ss;
     298        MagicVec2<T,0,1> xy, rg, st;
     299        MagicVec2<T,0,2> xz, rb, sp;
     300        MagicVec2<T,1,0> yx, gr, ts;
     301        MagicVec2<T,1,1> yy, gg, tt;
     302        MagicVec2<T,1,2> yz, gb, tp;
     303        MagicVec2<T,2,0> zx, br, ps;
     304        MagicVec2<T,2,1> zy, bg, pt;
     305        MagicVec2<T,2,2> zz, bb, pp;
     306        MagicVec3<T,0,0,0> xxx, rrr, sss;
     307        MagicVec3<T,0,0,1> xxy, rrg, sst;
     308        MagicVec3<T,0,0,2> xxz, rrb, ssp;
     309        MagicVec3<T,0,1,0> xyx, rgr, sts;
     310        MagicVec3<T,0,1,1> xyy, rgg, stt;
     311        MagicVec3<T,0,1,2> xyz, rgb, stp;
     312        MagicVec3<T,0,2,0> xzx, rbr, sps;
     313        MagicVec3<T,0,2,1> xzy, rbg, spt;
     314        MagicVec3<T,0,2,2> xzz, rbb, spp;
     315        MagicVec3<T,1,0,0> yxx, grr, tss;
     316        MagicVec3<T,1,0,1> yxy, grg, tst;
     317        MagicVec3<T,1,0,2> yxz, grb, tsp;
     318        MagicVec3<T,1,1,0> yyx, ggr, tts;
     319        MagicVec3<T,1,1,1> yyy, ggg, ttt;
     320        MagicVec3<T,1,1,2> yyz, ggb, ttp;
     321        MagicVec3<T,1,2,0> yzx, gbr, tps;
     322        MagicVec3<T,1,2,1> yzy, gbg, tpt;
     323        MagicVec3<T,1,2,2> yzz, gbb, tpp;
     324        MagicVec3<T,2,0,0> zxx, brr, pss;
     325        MagicVec3<T,2,0,1> zxy, brg, pst;
     326        MagicVec3<T,2,0,2> zxz, brb, psp;
     327        MagicVec3<T,2,1,0> zyx, bgr, pts;
     328        MagicVec3<T,2,1,1> zyy, bgg, ptt;
     329        MagicVec3<T,2,1,2> zyz, bgb, ptp;
     330        MagicVec3<T,2,2,0> zzx, bbr, pps;
     331        MagicVec3<T,2,2,1> zzy, bbg, ppt;
     332        MagicVec3<T,2,2,2> zzz, bbb, ppp;
     333        MagicVec4<T,0,0,0,0> xxxx, rrrr, ssss;
     334        MagicVec4<T,0,0,0,1> xxxy, rrrg, ssst;
     335        MagicVec4<T,0,0,0,2> xxxz, rrrb, sssp;
     336        MagicVec4<T,0,0,1,0> xxyx, rrgr, ssts;
     337        MagicVec4<T,0,0,1,1> xxyy, rrgg, sstt;
     338        MagicVec4<T,0,0,1,2> xxyz, rrgb, sstp;
     339        MagicVec4<T,0,0,2,0> xxzx, rrbr, ssps;
     340        MagicVec4<T,0,0,2,1> xxzy, rrbg, sspt;
     341        MagicVec4<T,0,0,2,2> xxzz, rrbb, sspp;
     342        MagicVec4<T,0,1,0,0> xyxx, rgrr, stss;
     343        MagicVec4<T,0,1,0,1> xyxy, rgrg, stst;
     344        MagicVec4<T,0,1,0,2> xyxz, rgrb, stsp;
     345        MagicVec4<T,0,1,1,0> xyyx, rggr, stts;
     346        MagicVec4<T,0,1,1,1> xyyy, rggg, sttt;
     347        MagicVec4<T,0,1,1,2> xyyz, rggb, sttp;
     348        MagicVec4<T,0,1,2,0> xyzx, rgbr, stps;
     349        MagicVec4<T,0,1,2,1> xyzy, rgbg, stpt;
     350        MagicVec4<T,0,1,2,2> xyzz, rgbb, stpp;
     351        MagicVec4<T,0,2,0,0> xzxx, rbrr, spss;
     352        MagicVec4<T,0,2,0,1> xzxy, rbrg, spst;
     353        MagicVec4<T,0,2,0,2> xzxz, rbrb, spsp;
     354        MagicVec4<T,0,2,1,0> xzyx, rbgr, spts;
     355        MagicVec4<T,0,2,1,1> xzyy, rbgg, sptt;
     356        MagicVec4<T,0,2,1,2> xzyz, rbgb, sptp;
     357        MagicVec4<T,0,2,2,0> xzzx, rbbr, spps;
     358        MagicVec4<T,0,2,2,1> xzzy, rbbg, sppt;
     359        MagicVec4<T,0,2,2,2> xzzz, rbbb, sppp;
     360        MagicVec4<T,1,0,0,0> yxxx, grrr, tsss;
     361        MagicVec4<T,1,0,0,1> yxxy, grrg, tsst;
     362        MagicVec4<T,1,0,0,2> yxxz, grrb, tssp;
     363        MagicVec4<T,1,0,1,0> yxyx, grgr, tsts;
     364        MagicVec4<T,1,0,1,1> yxyy, grgg, tstt;
     365        MagicVec4<T,1,0,1,2> yxyz, grgb, tstp;
     366        MagicVec4<T,1,0,2,0> yxzx, grbr, tsps;
     367        MagicVec4<T,1,0,2,1> yxzy, grbg, tspt;
     368        MagicVec4<T,1,0,2,2> yxzz, grbb, tspp;
     369        MagicVec4<T,1,1,0,0> yyxx, ggrr, ttss;
     370        MagicVec4<T,1,1,0,1> yyxy, ggrg, ttst;
     371        MagicVec4<T,1,1,0,2> yyxz, ggrb, ttsp;
     372        MagicVec4<T,1,1,1,0> yyyx, gggr, ttts;
     373        MagicVec4<T,1,1,1,1> yyyy, gggg, tttt;
     374        MagicVec4<T,1,1,1,2> yyyz, gggb, tttp;
     375        MagicVec4<T,1,1,2,0> yyzx, ggbr, ttps;
     376        MagicVec4<T,1,1,2,1> yyzy, ggbg, ttpt;
     377        MagicVec4<T,1,1,2,2> yyzz, ggbb, ttpp;
     378        MagicVec4<T,1,2,0,0> yzxx, gbrr, tpss;
     379        MagicVec4<T,1,2,0,1> yzxy, gbrg, tpst;
     380        MagicVec4<T,1,2,0,2> yzxz, gbrb, tpsp;
     381        MagicVec4<T,1,2,1,0> yzyx, gbgr, tpts;
     382        MagicVec4<T,1,2,1,1> yzyy, gbgg, tptt;
     383        MagicVec4<T,1,2,1,2> yzyz, gbgb, tptp;
     384        MagicVec4<T,1,2,2,0> yzzx, gbbr, tpps;
     385        MagicVec4<T,1,2,2,1> yzzy, gbbg, tppt;
     386        MagicVec4<T,1,2,2,2> yzzz, gbbb, tppp;
     387        MagicVec4<T,2,0,0,0> zxxx, brrr, psss;
     388        MagicVec4<T,2,0,0,1> zxxy, brrg, psst;
     389        MagicVec4<T,2,0,0,2> zxxz, brrb, pssp;
     390        MagicVec4<T,2,0,1,0> zxyx, brgr, psts;
     391        MagicVec4<T,2,0,1,1> zxyy, brgg, pstt;
     392        MagicVec4<T,2,0,1,2> zxyz, brgb, pstp;
     393        MagicVec4<T,2,0,2,0> zxzx, brbr, psps;
     394        MagicVec4<T,2,0,2,1> zxzy, brbg, pspt;
     395        MagicVec4<T,2,0,2,2> zxzz, brbb, pspp;
     396        MagicVec4<T,2,1,0,0> zyxx, bgrr, ptss;
     397        MagicVec4<T,2,1,0,1> zyxy, bgrg, ptst;
     398        MagicVec4<T,2,1,0,2> zyxz, bgrb, ptsp;
     399        MagicVec4<T,2,1,1,0> zyyx, bggr, ptts;
     400        MagicVec4<T,2,1,1,1> zyyy, bggg, pttt;
     401        MagicVec4<T,2,1,1,2> zyyz, bggb, pttp;
     402        MagicVec4<T,2,1,2,0> zyzx, bgbr, ptps;
     403        MagicVec4<T,2,1,2,1> zyzy, bgbg, ptpt;
     404        MagicVec4<T,2,1,2,2> zyzz, bgbb, ptpp;
     405        MagicVec4<T,2,2,0,0> zzxx, bbrr, ppss;
     406        MagicVec4<T,2,2,0,1> zzxy, bbrg, ppst;
     407        MagicVec4<T,2,2,0,2> zzxz, bbrb, ppsp;
     408        MagicVec4<T,2,2,1,0> zzyx, bbgr, ppts;
     409        MagicVec4<T,2,2,1,1> zzyy, bbgg, pptt;
     410        MagicVec4<T,2,2,1,2> zzyz, bbgb, pptp;
     411        MagicVec4<T,2,2,2,0> zzzx, bbbr, ppps;
     412        MagicVec4<T,2,2,2,1> zzzy, bbbg, pppt;
     413        MagicVec4<T,2,2,2,2> zzzz, bbbb, pppp;
    301414    };
    302415};
     
    320433    inline Vec4(T _x, Vec3<T> _yzw) : x(_x), y(_yzw.x), z(_yzw.y), w(_yzw.z) { }
    321434
     435    template<int I, int J, int K, int L>
     436    inline Vec4<T>(MagicVec4<T, I, J, K, L> const &v)
     437      : x(v.ptr[I]), y(v.ptr[J]), z(v.ptr[K]), w(v.ptr[L]) {}
     438
     439    template<typename U, int I, int J, int K, int L>
     440    explicit inline Vec4<T>(MagicVec4<U, I, J, K, L> const &v)
     441      : x(v.ptr[I]), y(v.ptr[J]), z(v.ptr[K]), w(v.ptr[L]) {}
     442
    322443    MEMBER_OPS()
    323444    OTHER_MEMBER_OPS(Vec4)
    324 
    325     SWIZZLE24(x); SWIZZLE24(y); SWIZZLE24(z); SWIZZLE24(w);
    326     SWIZZLE344(x); SWIZZLE344(y); SWIZZLE344(z); SWIZZLE344(w);
    327     SWIZZLE4444(x); SWIZZLE4444(y); SWIZZLE4444(z); SWIZZLE4444(w);
    328445
    329446#if !defined __ANDROID__
     
    337454        struct { T r, g, b, a; };
    338455        struct { T s, t, p, q; };
     456
     457        MagicVec2<T,0,0> xx, rr, ss;
     458        MagicVec2<T,0,1> xy, rg, st;
     459        MagicVec2<T,0,2> xz, rb, sp;
     460        MagicVec2<T,0,3> xw, ra, sq;
     461        MagicVec2<T,1,0> yx, gr, ts;
     462        MagicVec2<T,1,1> yy, gg, tt;
     463        MagicVec2<T,1,2> yz, gb, tp;
     464        MagicVec2<T,1,3> yw, ga, tq;
     465        MagicVec2<T,2,0> zx, br, ps;
     466        MagicVec2<T,2,1> zy, bg, pt;
     467        MagicVec2<T,2,2> zz, bb, pp;
     468        MagicVec2<T,2,3> zw, ba, pq;
     469        MagicVec2<T,3,0> wx, ar, qs;
     470        MagicVec2<T,3,1> wy, ag, qt;
     471        MagicVec2<T,3,2> wz, ab, qp;
     472        MagicVec2<T,3,3> ww, aa, qq;
     473        MagicVec3<T,0,0,0> xxx, rrr, sss;
     474        MagicVec3<T,0,0,1> xxy, rrg, sst;
     475        MagicVec3<T,0,0,2> xxz, rrb, ssp;
     476        MagicVec3<T,0,0,3> xxw, rra, ssq;
     477        MagicVec3<T,0,1,0> xyx, rgr, sts;
     478        MagicVec3<T,0,1,1> xyy, rgg, stt;
     479        MagicVec3<T,0,1,2> xyz, rgb, stp;
     480        MagicVec3<T,0,1,3> xyw, rga, stq;
     481        MagicVec3<T,0,2,0> xzx, rbr, sps;
     482        MagicVec3<T,0,2,1> xzy, rbg, spt;
     483        MagicVec3<T,0,2,2> xzz, rbb, spp;
     484        MagicVec3<T,0,2,3> xzw, rba, spq;
     485        MagicVec3<T,0,3,0> xwx, rar, sqs;
     486        MagicVec3<T,0,3,1> xwy, rag, sqt;
     487        MagicVec3<T,0,3,2> xwz, rab, sqp;
     488        MagicVec3<T,0,3,3> xww, raa, sqq;
     489        MagicVec3<T,1,0,0> yxx, grr, tss;
     490        MagicVec3<T,1,0,1> yxy, grg, tst;
     491        MagicVec3<T,1,0,2> yxz, grb, tsp;
     492        MagicVec3<T,1,0,3> yxw, gra, tsq;
     493        MagicVec3<T,1,1,0> yyx, ggr, tts;
     494        MagicVec3<T,1,1,1> yyy, ggg, ttt;
     495        MagicVec3<T,1,1,2> yyz, ggb, ttp;
     496        MagicVec3<T,1,1,3> yyw, gga, ttq;
     497        MagicVec3<T,1,2,0> yzx, gbr, tps;
     498        MagicVec3<T,1,2,1> yzy, gbg, tpt;
     499        MagicVec3<T,1,2,2> yzz, gbb, tpp;
     500        MagicVec3<T,1,2,3> yzw, gba, tpq;
     501        MagicVec3<T,1,3,0> ywx, gar, tqs;
     502        MagicVec3<T,1,3,1> ywy, gag, tqt;
     503        MagicVec3<T,1,3,2> ywz, gab, tqp;
     504        MagicVec3<T,1,3,3> yww, gaa, tqq;
     505        MagicVec3<T,2,0,0> zxx, brr, pss;
     506        MagicVec3<T,2,0,1> zxy, brg, pst;
     507        MagicVec3<T,2,0,2> zxz, brb, psp;
     508        MagicVec3<T,2,0,3> zxw, bra, psq;
     509        MagicVec3<T,2,1,0> zyx, bgr, pts;
     510        MagicVec3<T,2,1,1> zyy, bgg, ptt;
     511        MagicVec3<T,2,1,2> zyz, bgb, ptp;
     512        MagicVec3<T,2,1,3> zyw, bga, ptq;
     513        MagicVec3<T,2,2,0> zzx, bbr, pps;
     514        MagicVec3<T,2,2,1> zzy, bbg, ppt;
     515        MagicVec3<T,2,2,2> zzz, bbb, ppp;
     516        MagicVec3<T,2,2,3> zzw, bba, ppq;
     517        MagicVec3<T,2,3,0> zwx, bar, pqs;
     518        MagicVec3<T,2,3,1> zwy, bag, pqt;
     519        MagicVec3<T,2,3,2> zwz, bab, pqp;
     520        MagicVec3<T,2,3,3> zww, baa, pqq;
     521        MagicVec3<T,3,0,0> wxx, arr, qss;
     522        MagicVec3<T,3,0,1> wxy, arg, qst;
     523        MagicVec3<T,3,0,2> wxz, arb, qsp;
     524        MagicVec3<T,3,0,3> wxw, ara, qsq;
     525        MagicVec3<T,3,1,0> wyx, agr, qts;
     526        MagicVec3<T,3,1,1> wyy, agg, qtt;
     527        MagicVec3<T,3,1,2> wyz, agb, qtp;
     528        MagicVec3<T,3,1,3> wyw, aga, qtq;
     529        MagicVec3<T,3,2,0> wzx, abr, qps;
     530        MagicVec3<T,3,2,1> wzy, abg, qpt;
     531        MagicVec3<T,3,2,2> wzz, abb, qpp;
     532        MagicVec3<T,3,2,3> wzw, aba, qpq;
     533        MagicVec3<T,3,3,0> wwx, aar, qqs;
     534        MagicVec3<T,3,3,1> wwy, aag, qqt;
     535        MagicVec3<T,3,3,2> wwz, aab, qqp;
     536        MagicVec3<T,3,3,3> www, aaa, qqq;
     537        MagicVec4<T,0,0,0,0> xxxx, rrrr, ssss;
     538        MagicVec4<T,0,0,0,1> xxxy, rrrg, ssst;
     539        MagicVec4<T,0,0,0,2> xxxz, rrrb, sssp;
     540        MagicVec4<T,0,0,0,3> xxxw, rrra, sssq;
     541        MagicVec4<T,0,0,1,0> xxyx, rrgr, ssts;
     542        MagicVec4<T,0,0,1,1> xxyy, rrgg, sstt;
     543        MagicVec4<T,0,0,1,2> xxyz, rrgb, sstp;
     544        MagicVec4<T,0,0,1,3> xxyw, rrga, sstq;
     545        MagicVec4<T,0,0,2,0> xxzx, rrbr, ssps;
     546        MagicVec4<T,0,0,2,1> xxzy, rrbg, sspt;
     547        MagicVec4<T,0,0,2,2> xxzz, rrbb, sspp;
     548        MagicVec4<T,0,0,2,3> xxzw, rrba, sspq;
     549        MagicVec4<T,0,0,3,0> xxwx, rrar, ssqs;
     550        MagicVec4<T,0,0,3,1> xxwy, rrag, ssqt;
     551        MagicVec4<T,0,0,3,2> xxwz, rrab, ssqp;
     552        MagicVec4<T,0,0,3,3> xxww, rraa, ssqq;
     553        MagicVec4<T,0,1,0,0> xyxx, rgrr, stss;
     554        MagicVec4<T,0,1,0,1> xyxy, rgrg, stst;
     555        MagicVec4<T,0,1,0,2> xyxz, rgrb, stsp;
     556        MagicVec4<T,0,1,0,3> xyxw, rgra, stsq;
     557        MagicVec4<T,0,1,1,0> xyyx, rggr, stts;
     558        MagicVec4<T,0,1,1,1> xyyy, rggg, sttt;
     559        MagicVec4<T,0,1,1,2> xyyz, rggb, sttp;
     560        MagicVec4<T,0,1,1,3> xyyw, rgga, sttq;
     561        MagicVec4<T,0,1,2,0> xyzx, rgbr, stps;
     562        MagicVec4<T,0,1,2,1> xyzy, rgbg, stpt;
     563        MagicVec4<T,0,1,2,2> xyzz, rgbb, stpp;
     564        MagicVec4<T,0,1,2,3> xyzw, rgba, stpq;
     565        MagicVec4<T,0,1,3,0> xywx, rgar, stqs;
     566        MagicVec4<T,0,1,3,1> xywy, rgag, stqt;
     567        MagicVec4<T,0,1,3,2> xywz, rgab, stqp;
     568        MagicVec4<T,0,1,3,3> xyww, rgaa, stqq;
     569        MagicVec4<T,0,2,0,0> xzxx, rbrr, spss;
     570        MagicVec4<T,0,2,0,1> xzxy, rbrg, spst;
     571        MagicVec4<T,0,2,0,2> xzxz, rbrb, spsp;
     572        MagicVec4<T,0,2,0,3> xzxw, rbra, spsq;
     573        MagicVec4<T,0,2,1,0> xzyx, rbgr, spts;
     574        MagicVec4<T,0,2,1,1> xzyy, rbgg, sptt;
     575        MagicVec4<T,0,2,1,2> xzyz, rbgb, sptp;
     576        MagicVec4<T,0,2,1,3> xzyw, rbga, sptq;
     577        MagicVec4<T,0,2,2,0> xzzx, rbbr, spps;
     578        MagicVec4<T,0,2,2,1> xzzy, rbbg, sppt;
     579        MagicVec4<T,0,2,2,2> xzzz, rbbb, sppp;
     580        MagicVec4<T,0,2,2,3> xzzw, rbba, sppq;
     581        MagicVec4<T,0,2,3,0> xzwx, rbar, spqs;
     582        MagicVec4<T,0,2,3,1> xzwy, rbag, spqt;
     583        MagicVec4<T,0,2,3,2> xzwz, rbab, spqp;
     584        MagicVec4<T,0,2,3,3> xzww, rbaa, spqq;
     585        MagicVec4<T,0,3,0,0> xwxx, rarr, sqss;
     586        MagicVec4<T,0,3,0,1> xwxy, rarg, sqst;
     587        MagicVec4<T,0,3,0,2> xwxz, rarb, sqsp;
     588        MagicVec4<T,0,3,0,3> xwxw, rara, sqsq;
     589        MagicVec4<T,0,3,1,0> xwyx, ragr, sqts;
     590        MagicVec4<T,0,3,1,1> xwyy, ragg, sqtt;
     591        MagicVec4<T,0,3,1,2> xwyz, ragb, sqtp;
     592        MagicVec4<T,0,3,1,3> xwyw, raga, sqtq;
     593        MagicVec4<T,0,3,2,0> xwzx, rabr, sqps;
     594        MagicVec4<T,0,3,2,1> xwzy, rabg, sqpt;
     595        MagicVec4<T,0,3,2,2> xwzz, rabb, sqpp;
     596        MagicVec4<T,0,3,2,3> xwzw, raba, sqpq;
     597        MagicVec4<T,0,3,3,0> xwwx, raar, sqqs;
     598        MagicVec4<T,0,3,3,1> xwwy, raag, sqqt;
     599        MagicVec4<T,0,3,3,2> xwwz, raab, sqqp;
     600        MagicVec4<T,0,3,3,3> xwww, raaa, sqqq;
     601        MagicVec4<T,1,0,0,0> yxxx, grrr, tsss;
     602        MagicVec4<T,1,0,0,1> yxxy, grrg, tsst;
     603        MagicVec4<T,1,0,0,2> yxxz, grrb, tssp;
     604        MagicVec4<T,1,0,0,3> yxxw, grra, tssq;
     605        MagicVec4<T,1,0,1,0> yxyx, grgr, tsts;
     606        MagicVec4<T,1,0,1,1> yxyy, grgg, tstt;
     607        MagicVec4<T,1,0,1,2> yxyz, grgb, tstp;
     608        MagicVec4<T,1,0,1,3> yxyw, grga, tstq;
     609        MagicVec4<T,1,0,2,0> yxzx, grbr, tsps;
     610        MagicVec4<T,1,0,2,1> yxzy, grbg, tspt;
     611        MagicVec4<T,1,0,2,2> yxzz, grbb, tspp;
     612        MagicVec4<T,1,0,2,3> yxzw, grba, tspq;
     613        MagicVec4<T,1,0,3,0> yxwx, grar, tsqs;
     614        MagicVec4<T,1,0,3,1> yxwy, grag, tsqt;
     615        MagicVec4<T,1,0,3,2> yxwz, grab, tsqp;
     616        MagicVec4<T,1,0,3,3> yxww, graa, tsqq;
     617        MagicVec4<T,1,1,0,0> yyxx, ggrr, ttss;
     618        MagicVec4<T,1,1,0,1> yyxy, ggrg, ttst;
     619        MagicVec4<T,1,1,0,2> yyxz, ggrb, ttsp;
     620        MagicVec4<T,1,1,0,3> yyxw, ggra, ttsq;
     621        MagicVec4<T,1,1,1,0> yyyx, gggr, ttts;
     622        MagicVec4<T,1,1,1,1> yyyy, gggg, tttt;
     623        MagicVec4<T,1,1,1,2> yyyz, gggb, tttp;
     624        MagicVec4<T,1,1,1,3> yyyw, ggga, tttq;
     625        MagicVec4<T,1,1,2,0> yyzx, ggbr, ttps;
     626        MagicVec4<T,1,1,2,1> yyzy, ggbg, ttpt;
     627        MagicVec4<T,1,1,2,2> yyzz, ggbb, ttpp;
     628        MagicVec4<T,1,1,2,3> yyzw, ggba, ttpq;
     629        MagicVec4<T,1,1,3,0> yywx, ggar, ttqs;
     630        MagicVec4<T,1,1,3,1> yywy, ggag, ttqt;
     631        MagicVec4<T,1,1,3,2> yywz, ggab, ttqp;
     632        MagicVec4<T,1,1,3,3> yyww, ggaa, ttqq;
     633        MagicVec4<T,1,2,0,0> yzxx, gbrr, tpss;
     634        MagicVec4<T,1,2,0,1> yzxy, gbrg, tpst;
     635        MagicVec4<T,1,2,0,2> yzxz, gbrb, tpsp;
     636        MagicVec4<T,1,2,0,3> yzxw, gbra, tpsq;
     637        MagicVec4<T,1,2,1,0> yzyx, gbgr, tpts;
     638        MagicVec4<T,1,2,1,1> yzyy, gbgg, tptt;
     639        MagicVec4<T,1,2,1,2> yzyz, gbgb, tptp;
     640        MagicVec4<T,1,2,1,3> yzyw, gbga, tptq;
     641        MagicVec4<T,1,2,2,0> yzzx, gbbr, tpps;
     642        MagicVec4<T,1,2,2,1> yzzy, gbbg, tppt;
     643        MagicVec4<T,1,2,2,2> yzzz, gbbb, tppp;
     644        MagicVec4<T,1,2,2,3> yzzw, gbba, tppq;
     645        MagicVec4<T,1,2,3,0> yzwx, gbar, tpqs;
     646        MagicVec4<T,1,2,3,1> yzwy, gbag, tpqt;
     647        MagicVec4<T,1,2,3,2> yzwz, gbab, tpqp;
     648        MagicVec4<T,1,2,3,3> yzww, gbaa, tpqq;
     649        MagicVec4<T,1,3,0,0> ywxx, garr, tqss;
     650        MagicVec4<T,1,3,0,1> ywxy, garg, tqst;
     651        MagicVec4<T,1,3,0,2> ywxz, garb, tqsp;
     652        MagicVec4<T,1,3,0,3> ywxw, gara, tqsq;
     653        MagicVec4<T,1,3,1,0> ywyx, gagr, tqts;
     654        MagicVec4<T,1,3,1,1> ywyy, gagg, tqtt;
     655        MagicVec4<T,1,3,1,2> ywyz, gagb, tqtp;
     656        MagicVec4<T,1,3,1,3> ywyw, gaga, tqtq;
     657        MagicVec4<T,1,3,2,0> ywzx, gabr, tqps;
     658        MagicVec4<T,1,3,2,1> ywzy, gabg, tqpt;
     659        MagicVec4<T,1,3,2,2> ywzz, gabb, tqpp;
     660        MagicVec4<T,1,3,2,3> ywzw, gaba, tqpq;
     661        MagicVec4<T,1,3,3,0> ywwx, gaar, tqqs;
     662        MagicVec4<T,1,3,3,1> ywwy, gaag, tqqt;
     663        MagicVec4<T,1,3,3,2> ywwz, gaab, tqqp;
     664        MagicVec4<T,1,3,3,3> ywww, gaaa, tqqq;
     665        MagicVec4<T,2,0,0,0> zxxx, brrr, psss;
     666        MagicVec4<T,2,0,0,1> zxxy, brrg, psst;
     667        MagicVec4<T,2,0,0,2> zxxz, brrb, pssp;
     668        MagicVec4<T,2,0,0,3> zxxw, brra, pssq;
     669        MagicVec4<T,2,0,1,0> zxyx, brgr, psts;
     670        MagicVec4<T,2,0,1,1> zxyy, brgg, pstt;
     671        MagicVec4<T,2,0,1,2> zxyz, brgb, pstp;
     672        MagicVec4<T,2,0,1,3> zxyw, brga, pstq;
     673        MagicVec4<T,2,0,2,0> zxzx, brbr, psps;
     674        MagicVec4<T,2,0,2,1> zxzy, brbg, pspt;
     675        MagicVec4<T,2,0,2,2> zxzz, brbb, pspp;
     676        MagicVec4<T,2,0,2,3> zxzw, brba, pspq;
     677        MagicVec4<T,2,0,3,0> zxwx, brar, psqs;
     678        MagicVec4<T,2,0,3,1> zxwy, brag, psqt;
     679        MagicVec4<T,2,0,3,2> zxwz, brab, psqp;
     680        MagicVec4<T,2,0,3,3> zxww, braa, psqq;
     681        MagicVec4<T,2,1,0,0> zyxx, bgrr, ptss;
     682        MagicVec4<T,2,1,0,1> zyxy, bgrg, ptst;
     683        MagicVec4<T,2,1,0,2> zyxz, bgrb, ptsp;
     684        MagicVec4<T,2,1,0,3> zyxw, bgra, ptsq;
     685        MagicVec4<T,2,1,1,0> zyyx, bggr, ptts;
     686        MagicVec4<T,2,1,1,1> zyyy, bggg, pttt;
     687        MagicVec4<T,2,1,1,2> zyyz, bggb, pttp;
     688        MagicVec4<T,2,1,1,3> zyyw, bgga, pttq;
     689        MagicVec4<T,2,1,2,0> zyzx, bgbr, ptps;
     690        MagicVec4<T,2,1,2,1> zyzy, bgbg, ptpt;
     691        MagicVec4<T,2,1,2,2> zyzz, bgbb, ptpp;
     692        MagicVec4<T,2,1,2,3> zyzw, bgba, ptpq;
     693        MagicVec4<T,2,1,3,0> zywx, bgar, ptqs;
     694        MagicVec4<T,2,1,3,1> zywy, bgag, ptqt;
     695        MagicVec4<T,2,1,3,2> zywz, bgab, ptqp;
     696        MagicVec4<T,2,1,3,3> zyww, bgaa, ptqq;
     697        MagicVec4<T,2,2,0,0> zzxx, bbrr, ppss;
     698        MagicVec4<T,2,2,0,1> zzxy, bbrg, ppst;
     699        MagicVec4<T,2,2,0,2> zzxz, bbrb, ppsp;
     700        MagicVec4<T,2,2,0,3> zzxw, bbra, ppsq;
     701        MagicVec4<T,2,2,1,0> zzyx, bbgr, ppts;
     702        MagicVec4<T,2,2,1,1> zzyy, bbgg, pptt;
     703        MagicVec4<T,2,2,1,2> zzyz, bbgb, pptp;
     704        MagicVec4<T,2,2,1,3> zzyw, bbga, pptq;
     705        MagicVec4<T,2,2,2,0> zzzx, bbbr, ppps;
     706        MagicVec4<T,2,2,2,1> zzzy, bbbg, pppt;
     707        MagicVec4<T,2,2,2,2> zzzz, bbbb, pppp;
     708        MagicVec4<T,2,2,2,3> zzzw, bbba, pppq;
     709        MagicVec4<T,2,2,3,0> zzwx, bbar, ppqs;
     710        MagicVec4<T,2,2,3,1> zzwy, bbag, ppqt;
     711        MagicVec4<T,2,2,3,2> zzwz, bbab, ppqp;
     712        MagicVec4<T,2,2,3,3> zzww, bbaa, ppqq;
     713        MagicVec4<T,2,3,0,0> zwxx, barr, pqss;
     714        MagicVec4<T,2,3,0,1> zwxy, barg, pqst;
     715        MagicVec4<T,2,3,0,2> zwxz, barb, pqsp;
     716        MagicVec4<T,2,3,0,3> zwxw, bara, pqsq;
     717        MagicVec4<T,2,3,1,0> zwyx, bagr, pqts;
     718        MagicVec4<T,2,3,1,1> zwyy, bagg, pqtt;
     719        MagicVec4<T,2,3,1,2> zwyz, bagb, pqtp;
     720        MagicVec4<T,2,3,1,3> zwyw, baga, pqtq;
     721        MagicVec4<T,2,3,2,0> zwzx, babr, pqps;
     722        MagicVec4<T,2,3,2,1> zwzy, babg, pqpt;
     723        MagicVec4<T,2,3,2,2> zwzz, babb, pqpp;
     724        MagicVec4<T,2,3,2,3> zwzw, baba, pqpq;
     725        MagicVec4<T,2,3,3,0> zwwx, baar, pqqs;
     726        MagicVec4<T,2,3,3,1> zwwy, baag, pqqt;
     727        MagicVec4<T,2,3,3,2> zwwz, baab, pqqp;
     728        MagicVec4<T,2,3,3,3> zwww, baaa, pqqq;
     729        MagicVec4<T,3,0,0,0> wxxx, arrr, qsss;
     730        MagicVec4<T,3,0,0,1> wxxy, arrg, qsst;
     731        MagicVec4<T,3,0,0,2> wxxz, arrb, qssp;
     732        MagicVec4<T,3,0,0,3> wxxw, arra, qssq;
     733        MagicVec4<T,3,0,1,0> wxyx, argr, qsts;
     734        MagicVec4<T,3,0,1,1> wxyy, argg, qstt;
     735        MagicVec4<T,3,0,1,2> wxyz, argb, qstp;
     736        MagicVec4<T,3,0,1,3> wxyw, arga, qstq;
     737        MagicVec4<T,3,0,2,0> wxzx, arbr, qsps;
     738        MagicVec4<T,3,0,2,1> wxzy, arbg, qspt;
     739        MagicVec4<T,3,0,2,2> wxzz, arbb, qspp;
     740        MagicVec4<T,3,0,2,3> wxzw, arba, qspq;
     741        MagicVec4<T,3,0,3,0> wxwx, arar, qsqs;
     742        MagicVec4<T,3,0,3,1> wxwy, arag, qsqt;
     743        MagicVec4<T,3,0,3,2> wxwz, arab, qsqp;
     744        MagicVec4<T,3,0,3,3> wxww, araa, qsqq;
     745        MagicVec4<T,3,1,0,0> wyxx, agrr, qtss;
     746        MagicVec4<T,3,1,0,1> wyxy, agrg, qtst;
     747        MagicVec4<T,3,1,0,2> wyxz, agrb, qtsp;
     748        MagicVec4<T,3,1,0,3> wyxw, agra, qtsq;
     749        MagicVec4<T,3,1,1,0> wyyx, aggr, qtts;
     750        MagicVec4<T,3,1,1,1> wyyy, aggg, qttt;
     751        MagicVec4<T,3,1,1,2> wyyz, aggb, qttp;
     752        MagicVec4<T,3,1,1,3> wyyw, agga, qttq;
     753        MagicVec4<T,3,1,2,0> wyzx, agbr, qtps;
     754        MagicVec4<T,3,1,2,1> wyzy, agbg, qtpt;
     755        MagicVec4<T,3,1,2,2> wyzz, agbb, qtpp;
     756        MagicVec4<T,3,1,2,3> wyzw, agba, qtpq;
     757        MagicVec4<T,3,1,3,0> wywx, agar, qtqs;
     758        MagicVec4<T,3,1,3,1> wywy, agag, qtqt;
     759        MagicVec4<T,3,1,3,2> wywz, agab, qtqp;
     760        MagicVec4<T,3,1,3,3> wyww, agaa, qtqq;
     761        MagicVec4<T,3,2,0,0> wzxx, abrr, qpss;
     762        MagicVec4<T,3,2,0,1> wzxy, abrg, qpst;
     763        MagicVec4<T,3,2,0,2> wzxz, abrb, qpsp;
     764        MagicVec4<T,3,2,0,3> wzxw, abra, qpsq;
     765        MagicVec4<T,3,2,1,0> wzyx, abgr, qpts;
     766        MagicVec4<T,3,2,1,1> wzyy, abgg, qptt;
     767        MagicVec4<T,3,2,1,2> wzyz, abgb, qptp;
     768        MagicVec4<T,3,2,1,3> wzyw, abga, qptq;
     769        MagicVec4<T,3,2,2,0> wzzx, abbr, qpps;
     770        MagicVec4<T,3,2,2,1> wzzy, abbg, qppt;
     771        MagicVec4<T,3,2,2,2> wzzz, abbb, qppp;
     772        MagicVec4<T,3,2,2,3> wzzw, abba, qppq;
     773        MagicVec4<T,3,2,3,0> wzwx, abar, qpqs;
     774        MagicVec4<T,3,2,3,1> wzwy, abag, qpqt;
     775        MagicVec4<T,3,2,3,2> wzwz, abab, qpqp;
     776        MagicVec4<T,3,2,3,3> wzww, abaa, qpqq;
     777        MagicVec4<T,3,3,0,0> wwxx, aarr, qqss;
     778        MagicVec4<T,3,3,0,1> wwxy, aarg, qqst;
     779        MagicVec4<T,3,3,0,2> wwxz, aarb, qqsp;
     780        MagicVec4<T,3,3,0,3> wwxw, aara, qqsq;
     781        MagicVec4<T,3,3,1,0> wwyx, aagr, qqts;
     782        MagicVec4<T,3,3,1,1> wwyy, aagg, qqtt;
     783        MagicVec4<T,3,3,1,2> wwyz, aagb, qqtp;
     784        MagicVec4<T,3,3,1,3> wwyw, aaga, qqtq;
     785        MagicVec4<T,3,3,2,0> wwzx, aabr, qqps;
     786        MagicVec4<T,3,3,2,1> wwzy, aabg, qqpt;
     787        MagicVec4<T,3,3,2,2> wwzz, aabb, qqpp;
     788        MagicVec4<T,3,3,2,3> wwzw, aaba, qqpq;
     789        MagicVec4<T,3,3,3,0> wwwx, aaar, qqqs;
     790        MagicVec4<T,3,3,3,1> wwwy, aaag, qqqt;
     791        MagicVec4<T,3,3,3,2> wwwz, aaab, qqqp;
     792        MagicVec4<T,3,3,3,3> wwww, aaaa, qqqq;
    339793    };
    340794};
     795
     796inline Vec2<float> operator /(Vec2<float> a, Vec2<float> b)
     797{
     798    return Vec2<float>(a.x / b.x, a.y / b.y);
     799}
    341800
    342801/*
     
    515974OTHER_OPS(Vec3)
    516975OTHER_OPS(Vec4)
     976
     977/*
     978 * Magic swizzling (part 2/2)
     979 */
     980
     981template<typename T, int I, int J>
     982inline Vec2<T> MagicVec2<T, I, J>::operator =(Vec2<T> that)
     983{
     984    ptr[I] = that.x; ptr[J] = that.y;
     985    return *this;
     986}
     987
     988template<typename T, int I, int J, int K>
     989inline Vec3<T> MagicVec3<T, I, J, K>::operator =(Vec3<T> that)
     990{
     991    ptr[I] = that.x; ptr[J] = that.y; ptr[K] = that.z;
     992    return *this;
     993}
     994
     995template<typename T, int I, int J, int K, int L>
     996inline Vec4<T> MagicVec4<T, I, J, K, L>::operator =(Vec4<T> that)
     997{
     998    ptr[I] = that.x; ptr[J] = that.y; ptr[K] = that.z; ptr[L] = that.w;
     999    return *this;
     1000}
    5171001
    5181002/*
  • trunk/test/tutorial/tut03.cpp

    r1135 r1136  
    5757        m_size.x = (m_size.x + 15) & ~15;
    5858        m_size.y = (m_size.y + 15) & ~15;
    59         m_texel_settings = vec4(1.0, 1.0, 2.0, 2.0) / (vec4)m_size.xyxy();
    60         m_screen_settings = vec4(1.0, 1.0, 0.5, 0.5) * (vec4)m_size.xyxy();
     59        m_texel_settings = vec4(1.0, 1.0, 2.0, 2.0) / (vec4)m_size.xyxy;
     60        m_screen_settings = vec4(1.0, 1.0, 0.5, 0.5) * (vec4)m_size.xyxy;
    6161
    6262        /* Window size decides the world aspect ratio. For instance, 640×480
  • trunk/test/unit/matrix.cpp

    r1035 r1136  
    122122
    123123        vec3 b(a1, 0.0f);
    124         vec2 a2(b.xy());
     124        vec2 a2(b.xy);
    125125        LOLUNIT_ASSERT_EQUAL(b.x, a1.x);
    126126        LOLUNIT_ASSERT_EQUAL(b.y, a1.y);
     
    129129
    130130        vec4 c(a1, 0.0f, 0.0f);
    131         vec2 a3(c.xy());
     131        vec2 a3(c.xy);
    132132        LOLUNIT_ASSERT_EQUAL(c.x, a1.x);
    133133        LOLUNIT_ASSERT_EQUAL(c.y, a1.y);
Note: See TracChangeset for help on using the changeset viewer.