Этот вопрос о переполнении стека:
Контракты кода Microsoft и сервер сборки CI
спрашивает, как заставить контракты кода работать на сервере сборки без установки Visual Studio 2010. Мы пытаемся сделать то же самое. Мы выполнили шаги, описанные в принятом ответе, но не смогли заставить его работать.
CodeContracts не будет установлен на сервере сборки, если не будет Visual Studio. Итак, следуя предложению, мы Мы сделали следующее:
% programfiles% \ Microsoft \ Contracts \ Bin
с машины для разработки с установленными Visual Studio 2010 Ultimate и Code Contracts Premium на сервер сборки. MSBuild \ v4.0
, которая содержит Microsoft.CodeContracts.targets
и Microsoft.CodeContractAnalysis.targets
. Согласно документации CodeContracts ,
Использование msbuild в проекте или решении, которое использует контракты, включенные через пользовательский интерфейс VS, будет выполнять те же действия, что и соответствующая сборка в VS.
Это наш вариант использования, мы просто вызываем MSBuild в нашем решении файл, как показано ниже. Файл решения создается с помощью Visual Studio со всеми ожидаемыми параметрами контракта кода, настроенными для перезаписи. Я новичок в OpenGL ES, но у меня уже есть опыт работы с обычным OpenGL. Мне сказали, что использовать чересстрочные массивы для буферов вершин намного быстрее из-за оптимизации, позволяющей избежать ...
Эй.
Я новичок в OpenGL ES, но у меня уже есть опыт работы с обычным OpenGL.
Мне сказали, что использование чересстрочных массивов для буферов вершин намного быстрее из-за оптимизации, позволяющей избежать промахов в кэше.
Я разработал формат вершин, который я буду использовать, который выглядит следующим образом
struct SVertex { float x,y,z; float nx,ny,nz; float tx,ty,tz; float bx,by,bz; float tu1,tv1; float tu2,tv2; };
Затем я использовал «glVertexAttribPointer (index, 3, GL_FLOAT, GL_FALSE, stride, v)»; чтобы указать на массив вершин. Индекс - это один из атрибутов, которые я хочу использовать, а все остальное в порядке, кроме шага. Это сработало, прежде чем я решил добавить это в уравнение. Я передал шаг как sizeof (SVertex) и как 13 * 4, но ни один из них не работает.
Если это имеет какое-то значение, я рисую такие примитивы
glDrawElements(GL_TRIANGLES,surface->GetIndexCount()/3,GL_UNSIGNED_INT,surface->IndPtr());
. В спецификациях OpenGL написано, что шаг должен быть размером в байтах от конца атрибута (в данном случае z) до следующего атрибута того же типа ( в данном случае x). Таким образом, по моим расчетам это должно быть 13 (nx, ny, nz, tx, ty .... tuv2, tv2) умноженное на 4 (размер поплавка).
Да, и еще один момент: дисплей просто пустой.
Может ли кто-нибудь помочь мне с этим?
Большое спасибо.