Привет!
Начал осваивать Windows Embedded CE 6.0 R3, которую планируется устанавливать на небольшую PC-совместимую материнку в приборе. От производителей получил готовый образ WinCE на карточке (NK.BIN) и SDK для разработки приложений. (Разработку/адаптацию самой WinCE пока не делаю, пользуюсь готовым образом.)
Наша прежняя приборная программа базируется на DirectX, поэтому я первым делом решил проверить работу Direct3D Mobile. Скомпилировал и запустил шесть туторных примеров (те, что "TUT0n_XXX"). Все они нормально работают. Тогда я стал экспериментировать с "TUT03_MATRICES" и столкнулся с проблемой: не могу нарисовать два треугольника вместо одного (мне нужно рисовать несколько разных объектов, поэтому я для начала попробовал просто два отдельных треугольника). Я немножко модифицировал функцию "SetupMatrices", чтобы она могла сдвигать мировую матрицу по осям X, Y. Вот код рендера:
    // Begin the scene
    if( SUCCEEDED( g_pd3dmDevice->BeginScene() ) )
    {
        // Setup the world, view, and projection matrices
        SetupMatrices( -1.0f, 1.0f); // Shift by x = -1, y = 1
        
        // Render the vertex buffer contents
        g_pd3dmDevice->SetStreamSource( 0, g_pVB, sizeof(CUSTOMVERTEX) );
        g_pd3dmDevice->DrawPrimitive( D3DMPT_TRIANGLELIST, 0, 1 );
//!!!!  SetupMatrices( 1.0f, -1.0f);
        g_pd3dmDevice->DrawPrimitive( D3DMPT_TRIANGLELIST, 0, 1 );
        // End the scene
        g_pd3dmDevice->EndScene();
    }
В таком виде все работает. Но стоит мне раскомментировать второй вызов "SetupMatrices" - и все, не работает, даже клиентская часть окна не обновляется (в ней остается картинкка десктопа).
Помогите, пожалуйста, разобраться с этой проблемой!
P.S. Окружение:
1. Рабочий компьютер: Windows XP, MS Visual Studio 2005, SDK для разработки приложений.
2. Целевая система: Windows CE 6.0, Direct3D Mobile.
Компилирую программу на рабочем компьютере, записываю на флешку и запускаю на целевой системе.