Introduction to XNA Math

Warning! Some information on this page is older than 3 years now. I keep it for reference, but it probably doesn't reflect my current knowledge and beliefs.

18:47
Tue
04
May 2010

Introduction to XNA Math

I've recently shared my XNA Math Cheat Sheet Today I'd like to post some more information about XNA Math. It is a new C++ math library for gamedev distributed with DirectX SDK, intended to replace math support from D3DX. Its online documentation can be found here: XNA Math Library Reference and the offline one is in DXSDK\Documentation\DirectX9\directx_sdk.chm file. It's worth noticing that the documentation in recent DX SDK versions is split across two separate CHM files. windows_graphics.chm describes only graphics programming (Direct3D 9, 10 and 11, D3DX, DXGI, HLSL language, effects format, DDS format, X format etc.), while directx_sdk.chm is about all other stuff (DirectSetup, DXUT, XNA Math, XAudio2, XInput etc.).

XNA Math is different from old D3DX and I'm afraid also harder to use. But I believe it's better. It's your decision whether you start to use it or not, because it's completely separate library that can be used with DirectX 11, 10, 9 or without anyone of them. On the other hand, you can still link with old D3DX while coding in new DirectX 11, so it's all your choice.

By the way, I don't know why is this library called "XNA Math". It looks like it has nothing to do with the XNA technology. XNA is a .NET library with its own vector and matrix classes while XNA Math is pure native C++ library distributed with DirectX SDK. It looks like a misnomer.

Beginning with XNA Math is simple. You just #include <xnamath.h> and that's all. There is even no need to link with any LIB file - all code is inline in this header or INL files included by it (which sum up to 26530 lines :) It provides support for vectors (up to 4D), matrices (up to 4x4), colors, planes and quaternions - all made of 32-bit floats, just as we all use in gamedev.

But design ideas of this API are totally different from D3DX. There is now one main data type called XMVECTOR - a vector of 4 floats. When the library uses SSE (which is the default on PC), this type is simply a typedef to __m128 (if you know what I mean). So it must be always aligned to 16-byte boundary. As a consequence, it's safe to cast this type to any other one interpreted as a vector of floats (like float[4] or D3DVECTOR), but not the other way around (because the pointer you cast might not be property aligned). This single type is used in all computations and interpreted as a 2D, 3D or 4D vector, plane, quaternion, part of 4x4 matrix or even a vector of unsigned integers, depending on the context. It may also feel strange at the beginning that this not-so-small object is usually passed and returned by value, not by reference.

Old DirectX versions used a D3DVECTOR and D3DMATRIX structures, which were extended by inheritance in D3DX library as D3DXVECTOR and D3DXMATRIX - structures with lots of overloaded operators and methods to operate on. The idea behind new DirectX 11 is that the graphics API is not dependent on any particular math library - it only uses float* or even void* and it's you job to use some library that would help you with math computations (like D3DX or XNA Math).

If you ever coded in SSE or other vector instruction set, you might know the concept of loading and storing. Here is an example that sets and gets vector as well as its components in many different ways.

XMVECTOR v = XMVectorZero();
// v is now (0, 0, 0, 0)
v = XMVectorSplatOne();
// v is now (1, 1, 1, 1)
v = XMVectorReplicate(5.f);
// v is now (5, 5, 5, 5)
v = XMVectorSet(1.f, 2.f, 3.f, 4.f);
// v is now (1, 2, 3, 4)
v = XMVectorSetX(v, 10.f);
// v is now (10, 2, 3, 4)
std::cout << XMVectorGetW(v);
// Prints 4

There are lots of structures defined in XNA Math that represent different ways vectors can be stored and packet in the memory. Many of them are very weird, but there is good reason for their existence - they are CPU equivalents for some of DXGI_FORMAT-s available in DirectX 10/11. For example, the XMUDECN4 type, representing DXGI_FORMAT_R10G10B10A2_UNORM, is defined as follows:

union {
  struct { UINT x : 10; UINT y : 10; UINT z : 10; UINT w : 2; };
  UINT v;
};

It is a 32-bit value that stores 4D vector in 10+10+10+2 bit format, where float values 0.0 .. 1.0 are mapped to integers 0..1023 for x, y, z components and 0..3 for w component (just a bit smaller precision, nothing more ;) XNA Math provides us with functions to load and store XMVECTOR from/to all these strange types, so you can just do something like this:

XMVECTOR v = XMVectorSet(0.f, 1.f, 0.5f, 0.5f);
XMUDECN4 packedV;
XMStoreUDecN4(&packedV, v);
// packedV is 0x5ffffc00
XMVECTOR v2 = XMLoadUDecN4(&packedV);
// v2 is (0, 1, 0.499511, 0.333333)

XNA Math contains lots of functions that we all know from old good D3DX. (The only missing thing are SH* functions for spherical harmonics, but well - I have never used them anyway :) For example, a function for normalizing 3D vector now has a signature:

XMVECTOR XMVector3Normalize(XMVECTOR V)

XNA Math also supports matrices. XMMATRIX type is a 4x4 matrix. It contains 4 XMVECTOR-s inside. Functions for manipulating matrices include XMMatrixTranslation, XMMatrixRotationRollPitchYaw, XMMatrixPerspectiveFovLH and so on. You can also do computations on 3D planes if only you agree to treat (x, y, z, w) vectors as (A, B, C, D) factors of plane equation. Same applies to colors - functions like XMColorAdjustSaturation also operate on XMVECTOR, but treat its components as (R, G, B, A) values.

XNA Math wouldn't be complete without some basic functions, constants and macros for scalars, such as XM_PI, XMMax, XMScalarSin. Functions with -Est suffix (from "estimated") are faster but less precise versions, e.g. XMScalarSinEst.

If you want to make full use of the performance of vector arithmetic, you should also use swizzling, permutation and comparison functionality. Swizzling is about permutation of components of a vector. It's elegant and intuitive in languages designed with gamedev in mind (like HLSL), where you just write:

float4 v2 = v1.xyxy;

In C++ with XNA Math, same operation can be written as:

XMVECTOR v2 = XMVectorSwizzle(v1, 0, 1, 0, 1);

When it comes to comparisons, functions with -R suffix return additional UINT value, which is a bitfield designed to be tested with special functions. For example:

XMVECTOR v1 = XMVectorSet(0.0f, 1.0f, 0.5f, 0.5f);
XMVECTOR v2 = XMVectorSet(0.0f, 0.0f, 1.0f, 1.0f);
UINT cr; XMVECTORU32 res;
res.v = XMVectorGreaterR(&cr, v1, v2);
// res contains (0, 0xffffffff, 0, 0)
std::cout << XMComparisonAnyTrue(cr);
// Prints 1.

Comments (5) | Tags: math directx | Author: Adam Sawicki | Share

Comments

polo
2014-07-27 10:42:54
http://www.superbagsmarket.com/
http://www.superbagsmarket.com/louis-vuitton-bags-c-1.html
http://www.superbagsmarket.com/hermes-bags-c-2.html
http://www.superbagsmarket.com/prada-bags-c-3.html
http://www.superbagsmarket.com/chanel-bags-c-4.html
http://www.superbagsmarket.com/gucci-bags-c-5.html
http://www.superbagsmarket.com/burberry-bags-c-6.html
http://www.superbagsmarket.com/celine-bags-c-7.html
http://www.superbagsmarket.com/balenciaga-bags-c-8.html
http://www.superbagsmarket.com/christian-dior-bags-c-9.html
http://www.superbagsmarket.com/chloe-bags-c-10.html
http://www.superbagsmarket.com/bvlgari-bags-c-11.html
http://www.superbagsmarket.com/bally-bags-c-12.html
http://www.superbagsmarket.com/coach-bags-c-13.html
http://www.superbagsmarket.com/michael-kors-bags-c-14.html
http://www.superbagsmarket.com/mcm-bags-c-15.html
http://www.superbagsmarket.com/fendi-bags-c-16.html
http://www.superbagsmarket.com/mulberry-bags-c-17.html
http://www.superbagsmarket.com/marc-jacobs-bags-c-18.html
http://www.superbagsmarket.com/miu-miu-bags-c-19.html
http://www.superbagsmarket.com/ysl-bags-c-20.html
http://www.superbagsmarket.com/tory-burch-bags-c-21.html
http://www.superbagsmarket.com/givenchy-bags-c-22.html
http://www.superbagsmarket.com/ferragamo-bags-c-23.html
http://www.superbagsmarket.com/lancel-bags-c-24.html
http://www.superbagsmarket.com/loewe-bags-c-25.html
http://www.superbagsmarket.com/tods-bags-c-26.html
http://www.superbagsmarket.com/paul-smith-bags-c-27.html
http://www.superbagsmarket.com/dg-bags-c-28.html
http://www.superbagsmarket.com/alexander-wang-bags-c-29.html
http://www.superbagsmarket.com/bottega-veneta-bags-c-30.html
http://www.superbagsmarket.com/specials.html
http://www.guccishoesuk-2014.net/
http://www.superbagsmarket.com/
http://www.polo-ralphlaurenonline.com/
http://www.oakley-sunglassfactory.com/
http://www.michaelusakors.com/
http://www.thebeatsbydre.net/
http://www.polo-tshirts.com/
http://www.nike-jordanshoes.com/
http://www.northsclearance.com/
http://www.michaelkorsstates.com/
http://www.ralph-laurenhome.com/
http://www.polooutlet-store.com/
http://www.canada-gooser.com/
http://www.hermesoutletonline.net/
http://www.monsterbeatsbydres.com/
http://www.michaelkors.so/
http://www.burbagssale2014.com/
http://www.coach-factoryoutlets.net/
http://www.salongchamppairs.com/
http://www.north-faceoutlet.us.com/
http://www.barbour-jacketsoutlet.com/
http://www.coach-factory.net/
http://www.moncler-jacketsoutletonline.com/
http://www.mcmworldwides.com/
http://www.woolrich-clearance.com/
http://www.moncler-clearance.com/
Chanel Handbags
2014-08-19 10:00:37
http://www.coachoutletstoreinuk.com/ Coach Outlet Online
http://www.coachfactoryoutletanus.com/ Coach Outlet
http://www.coachoutletonlineunsius.com/ Coach Factory Outlet
http://www.coachoutletonlinetur.com/ Coach Outlet Online 
http://www.coachfactoryoutletnbsa.com/ Coach Factory Outlet
http://www.coachfactoryoutletuisa.com/ Coach Outlet Store Online http://www.coachoutletstorenie.com/ Coach Outlet Store Online
http://www.coachfactorystoreuin.com/ Coach Factory Outlet
http://www.coachfactoryoutletreba.com/ Coach Outlet 
http://www.coachfactoryoutletonlinesius.com/ Coach Handbags Outlet  http://www.coachoutletonlinetnse.com/ Coach Outlet http://www.coachoutletnoia.com/ Coach Outlet
http://www.chaneloutletinaus.com/ Chanel Outlet Online
http://www.louisvuittonoutletina.com/ Louis Vuitton
http://www.louisvuittonoutletine.com/ Louis Vuitton Outlet
http://www.guccibeltsoutletbcus.com/ Gucci Belts
http://www.guccibelststco.com/ Gucci Belt
http://www.coachoutletstoreinuk.com/ Coach Outlet Online
http://www.coachfactoryoutletanus.com/ Coach Outlet
http://www.coachoutletonlineunsius.com/ Coach Factory Outlet http://www.coachoutletonlinetur.com/ Coach Outlet Online
http://www.coachfactoryoutletnbsa.com/ Coach Outlet Store
http://www.coachfactoryoutletuisa.com/ Coach Outlet Store Online
http://www.coachoutletstorenie.com/ Coach Outlet
http://www.coachfactorystoreuin.com/ Coach Factory Online
http://www.coachfactoryoutletreba.com/ Coach Factory Outlet http://www.coachfactoryoutletonlinesius.com/ Coach Factory Outlet
http://www.coachoutletonlinetnse.com/ Coach Outlet http://www.coachoutletnoia.com/ Coach Outlet Store Online
http://www.chaneloutletinaus.com/ Chanel Outlet Online
http://www.louisvuittonoutletina.com/ Louis Vuitton Outlet
http://www.louisvuittonoutletine.com/ Louis Vuitton Handbags
http://www.guccibeltsoutletbcus.com/ Gucci Belt
http://www.guccibelststco.com/ Gucci Belts
http://www.louisvuittonoutletsnib.com/ Louis Vuitton Outlet Online
http://www.oakleysunglassescnc.name/ Oakley Sunglasses Outlet
http://www.louisvuittonoutletmoba.com/ Louis Vuitton Outlet Online
http://www.oakleyssunglassesmobo.com/ Oakley Sunglasses Outlet
http://www.oakleysunglassesmaba.com/ Cheap Oakley Sunglasses
http://www.oakleysunglassinsc.com/ Oakley Sunglasses
http://www.louisvuittonoutletsnib.com/ Louis Vuitton Outlet
http://www.oakleysunglassescnc.name/ Oakley Sunglasses Outlet
http://www.louisvuittonoutletmoba.com/ Louis Vuitton Outlet
http://www.oakleyssunglassesmobo.com/ Oakley Sunglasses Outlet
http://www.oakleysunglassesmaba.com/ Oakley Sunglasses
http://www.oakleysunglassinsc.com/ Oakley Sunglasses
polo
2014-09-21 09:13:03
http://www.shopbestgoods.com/
http://www.nike-jordanshoes.com/
http://www.beatsbydreoutlet.net/
http://www.michaelkorsus.com/
http://www.polo-tshirts.com/
http://www.northsclearance.com/
http://www.ralph-laurensale.com/
http://www.gucci-shoesuk2014.com/
http://www.michael-korsusa.com/
http://www.polo-outlets.com/
http://www.ralphslauren.co.uk/
http://www.marcjacobsonsale.com/
http://www.mcmworldwides.com/
http://www.salongchamppairs.com/
http://www.canada-gooser.com/
http://www.burberryoutlet2014.com/
http://www.michaelkors.so/
http://www.hermes-outletonline.com/
http://www.oakley-sunglassoutlet.com/
http://www.north-faceoutlets.net/
http://www.moncler-clearance.com/
http://www.woolrich-clearance.com/
http://www.barbour-jacketsoutlet.com/
http://www.moncler-jacketsoutletonline.com/
http://www.monsterbeatsbydres.net/
http://www.louis-vuittonblackfriday.com/
http://www.lv-guccishoesfactory.com/
http://www.mcmoutlet-jp.com/
http://www.cheapdiscountoutlet.com/
http://coachoutlet.iwopop.com/
http://www.coachsfactoryoutlet.com/
http://www.coach-blackfriday2014.com/
http://www.coach-storeoutletonline.com/
http://www.coach-factorysoutletonline.com/
http://www.coachccoachoutlet.com/
http://www.coach-factories.net/
http://www.coach-pursesoutletonline.com/
http://www.llouisvuitton-factory.net/
http://www.coach-outletsusa.com/
http://www.mksfactoryoutlet.com/
http://www.zxcoachoutlet.com/
http://www.mischristmas.com/
http://www.misblackfriday.com/
http://www.bestcustomsonline.com/
http://www.newoutletonlinemall.com/
http://www.clickmichaelkors.com/
http://www.cmichaelkorsoutlet.com/
http://www.ralphlaurenepolo.com/
http://michaelkorsoutlet.mischristmas.com/
http://mcmbackpack.mischristmas.com/
http://monsterbeats.mischristmas.com/
http://northfaceoutlet.mischristmas.com/
http://mk.misblackfriday.com/
http://coachoutlet.misblackfriday.com/
http://coachfactory.misblackfriday.com/
http://uggaustralia.misblackfriday.com/
http://coachpurses.misblackfriday.com/
http://coachusa.misblackfriday.com/
http://coach.misblackfriday.com/
http://michaelkorss.misblackfriday.com/
http://michaelkors.misblackfriday.com/
http://airmax.misblackfriday.com/
http://michael-kors.misblackfriday.com/
http://t.co/1PJuejI1ys
http://t.co/FYm2MxWwLM
https://twitter.com/CoachOutlet2014
https://www.facebook.com/pages/Coach-Factory-Outlet-Online-Store-Michael-Kors-Outlet-Online-Sale-75-Off/712060898859091
https://www.facebook.com/ralphlaurenoutletonline
coach outlet online
2014-09-26 05:34:21
Why It's the Bag of the Week: The black accents on this olive tote set off the color just right, and the neutral, simple design makes it perfect for work in even the most conservative of offices.Although you may not call Milan or Rome home, that doesn't mean you can't take style tips from some of the best-dressed United States women around-including Coach and Michael Kors. Here, 7 tips to memorize-from how United States women go about getting dressed, to how they always manage to look sexy yet simultaneously elegant.Sears - Baby Sale: <a href="http://www.uscoachfactoryoutlet.com/" title="coach factory outlet">coach factory outlet</a> <a href="http://www.coachoutlet.eu.com/" title="coach outlet">coach outlet</a> <a href="http://www.coachfactory.eu.com/" title="coach factory">coach factory</a> <a href="http://www.coachfactoryoutlet.eu.com/" title="coach factory outlet">coach factory outlet</a> <a href="http://www.coachoutletonline.eu.com/" title="coach outlet online">coach outlet online</a> Save up to 50% off select items - FS on most orders of $59 or more While a Personal Shopper can give you what you need for real life, I'd Rather Be sets you up for fantasy lives you didn't even know you had. Because sometimes a new shampoo isn't enough for a whole new you. (Want us to outfit your alter ego or your alternate reality? So you know that whole thing about guys chasing women who traits similar to their mother's? <a href="http://www.toryburchoutlet.eu.com/" title="tory burch outlet">tory burch outlet</a> <a href="http://www.michaelkorsoutlet.eu.com/" title="michael kors outlet">michael kors outlet</a> <a href="http://www.coachblack-friday.com/" title="coach black friday">coach black friday</a> <a href="http://www.michaelkorsoutletusaonline.com/" title="michael kors outlet">michael kors outlet</a> <a href="http://www.katespadeoutlet-online.us.com/" title="kate spade outlet">kate spade outlet</a> <a href="http://www.coach--outlet-online.com/" title="coach outlet">coach outlet</a> <a href="http://www.tomsshoesoutlet-online.com/" title="toms shoes outlet online">toms shoes outlet online</a> <a href="http://www.louisvuittonoutlet-online.com/" title="louis vuitton outlet online">louis vuitton outlet online</a> <a href="http://www.coachfactory-us.com/" title="coach factory">coach factory</a> <a href="http://www.coachfactoryoutlets-us.com/" title="coach factory outlet">coach factory outlet</a> <a href="http://www.abercrombieandfitch.us.com/" title="abercrombie and fitch">abercrombie and fitch</a> <a href="http://www.michael-kors-outletsonline.com/" title="michael kors outlet online">michael kors outlet online</a> <a href="http://www.katespadehandbags.us.com/" title="kate spade handbags">kate spade handbags</a> <a href="http://www.louis-vuittonoutletstores.com/" title="louis vuitton outlet stores">louis vuitton outlet stores</a> <a href="http://www.michaelkors--outletsonline.com/" title="michael kors outlet">michael kors outlet</a> <a href="http://www.oakley--glasses.com/" title="cheap oakley sunglasses">cheap oakley sunglasses</a> <a href="http://www.coach-factory-outletonline.com/" title="coach factory outlet">coach factory outlet</a> <a href="http://www.louisvuittonhandbagsoutlet.us.com/" title="louis vuitton handbags">louis vuitton handbags</a> <a href="http://www.louisvuittonoutlet-us.com/" title="louis vuitton outlet">louis vuitton outlet</a> <a href="http://www.prada-blackfriday.com/" title="prada black friday">prada black friday</a> <a href="http://www.oakleyglasses.us.com/" title="cheap oakley sunglasses">cheap oakley sunglasses</a> <a href="http://www.oakley--vault.com/" title="oakley sunglasses">oakley sunglasses</a> <a href="http://www.coachoutlet-storesonline.com/" title="coach outlet store online">coach outlet store online</a> <a href="http://www.kate-spadeoutletonline.com/" title="kate spade outlet">kate spade outlet</a> <a href="http://www.coachfactory--outletonline.com/" title="coach factory outlet">coach factory outlet</a> <a href="http://www.michaelkorsblack-friday.com/" title="michael kors black friday">michael kors black friday</a> <a href="http://www.louisvuitton-blackfriday.com/" title="louis vuitton black friday">louis vuitton black friday</a> <a href="http://www.louis-vuitton-outletonline.com/" title="louis vuitton outlet online">louis vuitton outlet online</a> <a href="http://www.louisvuittonhandbags.eu.com/" title="louis vuitton handbags">louis vuitton handbags</a> <a href="http://www.tiffany-blackfriday.com/" title="tiffany black friday">tiffany black friday</a> <a href="http://www.katespade-blackfriday.com/" title="kate spade black friday">kate spade black friday</a> <a href="http://www.poloralphlauren--outlet.com/" title="polo ralph lauren outlet">polo ralph lauren outlet</a> <a href="http://www.coachoutlet-store-online.com/" title="coach outlet store online">coach outlet store online</a> <a href="http://www.michaelkors--handbags.com/" title="michael kors handbags">michael kors handbags</a> <a href="http://www.valentino.us.com/" title="valentino.com">valentino.com</a> <a href="http://www.abercrombie-blackfriday.com/" title="abercrombie black friday">abercrombie black friday</a> <a href="http://www.toryburch-blackfriday.com/" title="tory burch black friday">tory burch black friday</a> <a href="http://www.true-religion.us.com/" title="true religion">true religion</a> <a href="http://www.truereligionbrandjeans.us.com/" title="true religion outlet">true religion outlet</a> <a href="http://www.coachoutlet--factory.com/" title="coach outlet">coach outlet</a> <a href="http://www.toms-shoesoutletonline.com/" title="toms shoes outlet online">toms shoes outlet online</a> <a href="http://www.online-coachfactoryoutlet.com/" title="coach factory outlet online">coach factory outlet online</a> <a href="http://www.toryburchoutletonline.us.com/" title="tory burch outlet online">tory burch outlet online</a> <a href="http://www.tory--burch.com/" title="tory burch outlet">tory burch outlet</a> <a href="http://www.saclongchampfr.org/" title="sac longchamp">sac longchamp</a> <a href="http://www.coach--handbags.com/" title="coach handbags">coach handbags</a> <a href="http://www.ralphlaurenpolo.us.com/" title="polo ralph lauren">polo ralph lauren</a> <a href="http://www.truereligion-blackfriday.com/" title="true religion black friday">true religion black friday</a> <a href="http://www.freywillejewellery.com/" title="frey wille jewellery">frey wille jewellery</a> <a href="http://www.marcbymarc-jacobs.com/" title="marc by marc jacobs">marc by marc jacobs</a> <a href="http://www.michael-korsoutletsonline.com/" title="michael kors outlet online">michael kors outlet online</a> <a href="http://www.rayban--sunglasses.net/" title="ray ban sunglasses cheap">ray ban sunglasses cheap</a> <a href="http://www.pradahandbags.eu.com/" title="prada handbags">prada handbags</a> <a href="http://www.michael--korsoutletonline.com/" title="michael kors outlet">michael kors outlet</a> <a href="http://www.rayban-blackfriday.com/" title="ray ban black friday">ray ban black friday</a> <a href="http://www.celineoutlet-online.com/" title="celine outlet">celine outlet</a> <a href="http://www.nikeairjordan.eu.com/" title="nike air jordans">nike air jordans</a> <a href="http://www.hollisterclothing-store.com/" title="hollister clothing store">hollister clothing store</a> <a href="http://www.oakley-blackfriday.com/" title="oakley black friday">oakley black friday</a> <a href="http://www.officialcoachonlinefactorysale.com/" title="coach official online">coach factory online</a> <a href="http://www.celine-handbags.com/" title="celine handbags">celine handbags</a> <a href="http://www.abercrombie-andfitch.com/" title="abercrombie and fitch">abercrombie and fitch</a> <a href="http://www.truereligionjeans.us.com/" title="true religion jeans outlet">true religion jeans outlet</a> <a href="http://www.pradaoutlet.eu.com/" title="prada outlet">prada outlet</a> <a href="http://www.supra.us.com/" title="supra.com">supra.com</a> <a href="http://www.michael--korsoutlet.com/" title="michael kors outlet online">michael kors outlet online</a> Bullsht. That's one of the most outrageous things we've Apart from books, notebooks, papers, and pens, a girl's back-to-school essentials include a toiletry kit filled with sanitary pads or tampons, Like the white blouse above, the cashmere sweater is another of J.Crew's autumn vitals. It's a no-brainer with jeans, but how cool does it look tucked into shorts? and a glamour kit with the essential tools of the beauty trade. Whether you're heading out to class or to a study group or (yes, even) gym practice, here are a slew of must-have beauty products to get you prepped and ready for the school year ahead. Neutrogena <a href="http://www.coandtiffany.com/" title="tiffany and co jewelry">tiffany and co jewelry</a> <a href="http://www.cotiffanyand.com/" title="tiffany and co">tiffany and co</a> <a href="http://www.tiffanyand--co.com/" title="tiffany and co">tiffany and co</a> Oil-Free Acne Wash, $4.99 MAC Mineralize SatinFinish SPF 15 Foundation, $35 e.l.f. Eyeshadow Palette, $3 Avon Makeup Remover Wipes with Mineral.Thankfully, the ease of the bucket bag and our trusted crossbody carryalls aren't going anywhere, while the tote bag just got a fresh coat of paint. As for the rest, it's a mix of ladylike essentials and an innovative spin on the daytime clutch. Step inside for a look at the biggest bag trends, straight off the Spring runways, from NYC to Milan. <a href="http://www.oakleysunglasses.eu.com/" title="oakley sunglasses ">oakley sunglasses</a> <a href="http://www.oakleyglasses.us.com/" title="oakley sunglasses">oakley sunglasses</a> <a href="http://www.ray-ban-sunglasses.us.com/" title="ray ban sunglasses">ray ban sunglasses</a> <a href="http://www.rayban--sunglass.com/" title="ray-ban sunglasses">ray-ban sunglasses</a> <a href="http://www.raybansunglasses.eu.com/" title="ray ban sunglasses">ray ban sunglasses</a> $14.99 Milan Fashion Week has had European handbags on our minds (which is not to say that they're not always on our minds, because, ya know, obviously), and to satisfy that craving, we're taking this week's edition of The International Edit to Italy's own Forzieri.
Leroy "Billybob" Jenkins
2014-12-09 03:55:03
wowsoblessed

Post comment

Nick *
Your name or nickname
E-mail
Your contact information (optional, will not be shown)
Text *
Content of your comment
Calculate *
(* - required field)
STAT NO AD [Stat] [Admin] [STAT NO AD] [pub] [Mirror] Copyright © 2004-2014 Adam Sawicki
Copyright © 2004-2014 Adam Sawicki