Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сообщения пользователя BlueHER — Форум CodeNet

« Вернуться к профилю пользователя BlueHER

0
голосов
ответов
6.5K
просмотров
279
14 марта 2006 года
bave
456 / / 07.03.2004
Цитата:
Originally posted by bave
У меня VC++5.0 ПРоцессор Celeron-1700

Сейчас тоже самое сделал на TASMе - на нём нормально откомпилировалось и нормально работало...
-------------------------------------

А может кто-нибудь подскажет как проверить
наличие расширений SSE и SSE2 без использования
cpuid


Хм. У меня все работает и с CPUID. Лови функцию...

[Свернуть исходник](#) 
Код:

bool    Processor_Supports_MMX  =   false;//Поддержка процессором инструкций MMX
bool    Processor_Supports_SSE  =   false;//Поддержка процессором инструкций SSE
bool    Processor_Supports_SSE2 =   false;//Поддержка процессором инструкций SSE
bool    Processor_Supports_3DNOW=   false;//Поддержка процессором инструкций SSE2
bool    Processor_Supports_RDTSC=   false;//Поддержка процессором инструкции RDTSC
char    Processor_id_string[13] =   "";   //12-байтная строка - идентификатор производителя процессора

void    __stdcall   CheckProcessorInstructions(void)
{
    //DWORD temp_proc_id[3];//сюда сначала поместится строка[12] с ид
0
голосов
ответов
6.5K
просмотров
279
14 марта 2006 года
bave
456 / / 07.03.2004
Цитата:
Originally posted by bave
У меня VC++5.0 ПРоцессор Celeron-1700

Сейчас тоже самое сделал на TASMе - на нём нормально откомпилировалось и нормально работало...
-------------------------------------

А может кто-нибудь подскажет как проверить
наличие расширений SSE и SSE2 без использования
cpuid



WinApi функция IsProcessorFeaturePresent
0
голосов
ответов
3.6K
просмотров
6.5K
13 декабря 2005 года
a.k.a Throne
39 / / 07.08.2005
Цитата:
Originally posted by a.k.a Throne
Вообщето мне уже не нужен bounding box, мне надо получить координаты вершин и размер структуры. Как получить второе?


Методы интерфейса ID3DXMesh (оба без параметров):
GetNumBytesPerVertex.
Возвращает размер структуры под каждую вершину.
GetNumVertices - возвращает количество вершин.
0
голосов
ответов
3.6K
просмотров
6.5K
13 декабря 2005 года
a.k.a Throne
39 / / 07.08.2005
Цитата:
Originally posted by a.k.a Throne
Нельзя на паскалеЯ? А то С++ не понимаю


Какая разница, Pascal, С...
Смысл такой:
-блокируешь буфер вершин своего меша
-по всем вершинам ищешь MAX и MIN координаты для x,y и z.
Это и будут границы бокса.
0
голосов
ответов
3.6K
просмотров
6.5K
13 декабря 2005 года
a.k.a Throne
39 / / 07.08.2005
Цитата:
Originally posted by a.k.a Throne
Как получить координаты вершин Bounding Box-а из Mesh(ID3DXMesh)?


Дано: g_pMesh - твой меш,
MAX и MIN - точки бокса
NumVertices - число вершин в меше (можно определить из
ID3DXMesh).
Примечание: не годится делать так каждый кадр, надо сделать на этапе инициализации / загрузки меша. А то локить буфер для таких пустяков - несколько расточительно.


[Свернуть исходник](#) 
Код:

if SUCCEEDED(g_pMesh->LockVertexBuffer(D3DLOCK_NOSYSLOCK,(void**)&buffer))
    {
        for(DWORD loop  =   0; loop < NumVertices; loop++)
                {
            MAX.x=( ((D3DXVECTOR3*)(buffer+loop*SizeVert))->x > MAX.x)?(((D3DXVECTOR3*)(buffer+loop*SizeVert))->x):MAX.x;
            MIN.x=( ((D3DXVECTOR3*)(buffer+loop*SizeVert))->x < MIN.x)?(((D3DXVECTOR3*)(buffer+loop*SizeVert))->x):MIN.x;
            MAX.y=( ((D3DXVECTOR3*)(buffer+loop*SizeVert))->y > MAX.y)?(((D3DXVECTOR3*)(buffer+loop*SizeVert))->y):MAX.y;
            MIN.y=( ((D3DXVECTOR3*)(buffer+loop*SizeVert))->y < MIN.y)?(((D3D
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог