예제 #1
0
static inline void
dumpStateObjectDesc(JSONWriter &json, Interface *pObj)
{
    if (pObj) {
        typename ExtractDescType< decltype( &Interface::GetDesc ) >::type Desc;
        pObj->GetDesc(&Desc);
        dumpStateObject(json, Desc);
    } else {
        json.writeNull();
    }
}
예제 #2
0
static void
dumpViewports(StateWriter &writer, ID3D10Device *pDevice)
{
   D3D10_VIEWPORT vps[D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE];
   UINT numViewports = 0, i;

   pDevice->RSGetViewports(&numViewports, NULL);
   pDevice->RSGetViewports(&numViewports, vps);

   writer.beginMember("Viewports");
   writer.beginArray();
   for (i = 0; i < numViewports; ++i) {
      dumpStateObject(writer, vps[i]);
   }
   writer.endArray();
   writer.endMember();
}
예제 #3
0
static void
dumpScissors(StateWriter &writer, ID3D10Device *pDevice)
{
   D3D10_RECT rects[D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE];
   UINT numRects = 0, i;

   pDevice->RSGetScissorRects(&numRects, NULL);
   pDevice->RSGetScissorRects(&numRects, rects);

   writer.beginMember("Scissors");
   writer.beginArray();
   for (i = 0; i < numRects; ++i) {
      dumpStateObject(writer, rects[i]);
   }
   writer.endArray();
   writer.endMember();
}