1409 {
1410
1412 {
1414 }
1417 {
1419 int val =
_rows * columns;
1421 if (count2 == 0)
1422 {
1426 {
1427 try
1428 {
1429 int num2 = 0;
1430 int num3 = 0;
1432 if (0 < rows)
1433 {
1434 while (num2 < num)
1435 {
1436 int num4 = 0;
1438 if (0 < columns2)
1439 {
1440 while (num2 < num)
1441 {
1442 int num5 = ((*(float*)((ref *(_003F*)((num3 * 4 + num4) * 4)) + (ref *(_003F*)ptr)) != 0f) ? 1 : 0);
1443 array[num2] = (byte)num5 != 0;
1444 num2++;
1445 num4++;
1447 if (num4 >= columns2)
1448 {
1449 break;
1450 }
1451 }
1452 }
1453 num3++;
1455 if (num3 >= rows)
1456 {
1457 break;
1458 }
1459 }
1460 }
1461 }
1462 catch
1463 {
1464
1465 ptr = null;
1466 throw;
1467 }
1468 }
1469 }
1470 else
1471 {
1474 fixed (float* ptr2 = &valueMatrixArray[0].M11)
1475 {
1476 try
1477 {
1478 int num7 = 0;
1479 int num8 = 0;
1480 if (0 < count2)
1481 {
1482 while (num7 < num6)
1483 {
1484 int num9 = 0;
1486 if (0 < rows2)
1487 {
1488 while (num7 < num6)
1489 {
1490 int num10 = 0;
1492 if (0 < columns3)
1493 {
1494 while (num7 < num6)
1495 {
1496 int num11 = ((*(float*)((ref *(_003F*)(((num8 * 4 + num9) * 4 + num10) * 4)) + (ref *(_003F*)ptr2)) != 0f) ? 1 : 0);
1497 array[num7] = (byte)num11 != 0;
1498 num7++;
1499 num10++;
1501 if (num10 >= columns3)
1502 {
1503 break;
1504 }
1505 }
1506 }
1507 num9++;
1509 if (num9 >= rows2)
1510 {
1511 break;
1512 }
1513 }
1514 }
1515 num8++;
1516 if (num8 >= count2)
1517 {
1518 break;
1519 }
1520 }
1521 }
1522 }
1523 catch
1524 {
1525
1526 ptr2 = null;
1527 throw;
1528 }
1529 }
1530 }
1531 }
1532 else
1533 {
1534 ID3DXBaseEffect* ptr3 =
pEffect;
1536 int num12 = ((delegate* unmanaged[Stdcall, Stdcall]<
IntPtr, sbyte*, _D3DXPARAMETER_DESC*,
int>)(
int)(*(uint*)(*(
int*)ptr3 + 16)))((nint)ptr3,
_handle, &d3DXPARAMETER_DESC);
1537 if (num12 < 0)
1538 {
1539 throw GraphicsHelpers.GetExceptionFromResult((uint)num12);
1540 }
1542 int[] array2 = new int[num13];
1544 {
1545 try
1546 {
1547 int num14 = ((
count >= num13) ? num13 :
count);
1548 int num15 = *(
int*)
pEffect + 100;
1549 int num16 = ((delegate* unmanaged[Stdcall, Stdcall]<
IntPtr, sbyte*,
int*, uint,
int>)(
int)(*(uint*)num15))((nint)
pEffect,
_handle, (
int*)ptr4, (uint)num14);
1550 if (num16 < 0)
1551 {
1552 throw GraphicsHelpers.GetExceptionFromResult((uint)num16);
1553 }
1554 int num17 = 0;
1555 if (0 < num14)
1556 {
1557 do
1558 {
1559 int num18 = ((array2[num17] != 0) ? 1 : 0);
1560 array[num17] = (byte)num18 != 0;
1561 num17++;
1562 }
1563 while (num17 < num14);
1564 }
1565 }
1566 catch
1567 {
1568
1569 ptr4 = null;
1570 throw;
1571 }
1572 }
1573 }
1575 }
EffectParameterClass _paramClass
unsafe Matrix GetValueMatrix()
unsafe ID3DXBaseEffect * pEffect
EffectParameterCollection pElementCollection
unsafe Matrix[] GetValueMatrixArray(int count)
static byte Min(byte val1, byte val2)