Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » FAQ по OpenGL | страница 14
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 14 из 16
На страницу: Пред.  1, 2, 3 ... 13, 14, 15, 16  След.    Перейти:   Все страницы
Поиск в этой теме:
Канал Игры Мечты: «FAQ по OpenGL»
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
Что-то мне подсказывает, что проблема тут:
hPBuffer:= NULL;
...
hPBuffer := wglCreatePbufferARB( g_hDC, pixelFormat, nWidth, nHeight, nil )

wglCreatePbufferARB, видимо, возвертает int64, отсюда и ноги растут.
_________________
У меня бисера не доxеpа.
    Добавлено: 23:48 03-02-2008   
Варсик
 545 EGP


Рейтинг канала: 4(81)
Репутация: 117
Сообщения: 4041
Откуда: Москва
Зарегистрирован: 22.12.2002
А pBuffer - Это int64, а не Pointer. Fill the difference
_________________
WARNING: By reading this post you accept that this post is genius.
    Добавлено: 01:50 05-02-2008   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
http://delphi3d.net/download/pbuffer.zip
_________________
MOV topka, C++
    Добавлено: 15:19 05-02-2008   
Duh
 101 EGP


Репутация: 20
Сообщения: 269
Откуда: Ярославль
Зарегистрирован: 18.07.2004
Заработало. Теперь моя иметь P-буфер, а не он меня! Супер! Всем спасибо.
Шобы не мусорить, объединил посты. Add later:
Сейчас у меня все заточено под тип Double, а движек мой развился до стадии, за которой менять тип данных станет дико гиморно. В связи с этим хочется поинтересоваться, какой тип данных стоит использовать для хранения меша?
С одной стороны ясен пень, что 4 байтА за переменную хранить куда приятнее (особенно когда хранить надо в видяхе), чем в 8 байтах, отпущенных под Double. С другой - у Double приличная точность, а размер массивов меркнет рядом с размером текстур. Вобщем хочется поинтересоваться - стоит ли отказываться от Double в пользу glFloat или нет?

Последний раз редактировалось: Duh (12:34 03-06-2008), всего редактировалось 3 раз(а)
    Добавлено: 12:28 03-06-2008   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
single (delphi) / float (C++) - твой выбор без сомнений должен быть.

double не имеет аппаратной поддержки.
_________________
MOV topka, C++
    Добавлено: 19:43 03-06-2008   
Duh
 101 EGP


Репутация: 20
Сообщения: 269
Откуда: Ярославль
Зарегистрирован: 18.07.2004
Jurec :
double не имеет аппаратной поддержки.
т.е. это как - у меня же комп не софтово рендерит, а в VBO и P-buffer я пихаю Double (только для цвета звездочек юзаю glFloat) и усе фурычит.
    Добавлено: 10:01 05-06-2008   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
Duh :
в VBO и P-buffer я пихаю Double

драйвер переводит его в single
_________________
MOV topka, C++
    Добавлено: 15:20 05-06-2008   
Duh
 101 EGP


Репутация: 20
Сообщения: 269
Откуда: Ярославль
Зарегистрирован: 18.07.2004
Jurec: Понял, спасибо.
    Добавлено: 08:31 06-06-2008   
Железный
 51 EGP


Рейтинг канала: 1(3)
Репутация: 0
Сообщения: 43

Зарегистрирован: 04.04.2008
2J, чего ты придумал еще?

Double всегда поддерживался сопроцессором именно как родной 32 битный формат! А еще лучше использовать extended - 64 битный. И преобразование Single-Double - это лишний шаг (особенно под отладчиком)

Другое дело GPU - там свои заморочки.

Поэтому нужно разделять, где код выполняется - в основном на проце (физика, скажем, ну и обработка матриц), либо на ускорителе - тогда встроенные типы нужно использовать, с префиксом gl
    Добавлено: 08:13 10-06-2008   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
Железный :
А еще лучше использовать extended - 64 битный.

Зачем такая точность?

Железный :
Другое дело GPU - там свои заморочки.

О GPU и речь, вообще-то.
Duh :
VBO и P-buffer

Это именно GPU.

Железный :
Поэтому нужно разделять, где код выполняется - в основном на проце (физика, скажем, ну и обработка матриц), либо на ускорителе - тогда встроенные типы нужно использовать, с префиксом gl


Да? И чтоб отправить в GPU надо будет делать преобразование Double -> glFloat ? Подозрение. Зачем?

Железный :
тогда встроенные типы нужно использовать, с префиксом gl

Посмотри внимательно на эти типы в заголовочном файле. Там чётко написано

type
glFloat = single;
_________________
MOV topka, C++
    Добавлено: 10:31 10-06-2008   
Железный
 51 EGP


Рейтинг канала: 1(3)
Репутация: 0
Сообщения: 43

Зарегистрирован: 04.04.2008
2J
Цитата:

type
glFloat = single;


Да знаю я, смысл коммента был не в этом...

Цитата:
И чтоб отправить в GPU надо будет делать преобразование Double -> glFloat ? Зачем?


Затем, что мы здесь все работаем над космическими масштабами. Чем больше разрядность дробного числа в базе, тем с большей "локацией" можно работать.

Давай посчитаем. Локация "Земля-Луна", минимум 800 тыс км. Чтобы отрисовать корабль, нужен минимум сантиметровый шаг буфера глубины. Выходит, что "наша" разрядность - 0.000 000 000 000 001 - и это в Double не впихнуть.

Преобразование Ext -> Single мелочь, поскольку в видимой области будет минимум объектов, а уж локальные данные можешь хранить в любом формате.
    Добавлено: 15:32 10-06-2008   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
Железный :

Давай посчитаем. Локация "Земля-Луна", минимум 800 тыс км. Чтобы отрисовать корабль, нужен минимум сантиметровый шаг буфера глубины. Выходит, что "наша" разрядность - 0.000 000 000 000 001 - и это в Double не впихнуть.

Не мог бы ты посчитать наглядно (как ты получил 0.000 000 000 000 001) ? А то твоя занимательная математика не воспроизводится Улыбка
В восьмибайтном числе можно уместить всё Солнечную систему с точностью до мм и еще место останется.
_________________
У меня бисера не доxеpа.

Последний раз редактировалось: Shirson (17:17 10-06-2008), всего редактировалось 2 раз(а)
    Добавлено: 17:09 10-06-2008   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
Железный :
Чтобы отрисовать корабль, нужен минимум сантиметровый шаг буфера глубины.

Подозрение. Вот тут поподробнее..

Очень сомневаюсь что ты будешь за раз выводить всю солнечную систему.
_________________
MOV topka, C++
    Добавлено: 18:47 10-06-2008   
Sh.Tac.
 151 EGP


Рейтинг канала: 5(108)
Репутация: 14
Сообщения: 1426

Зарегистрирован: 27.07.2005
а нет проблем за раз вывести всю солнечную систему Улыбка

могу только догадываться зачем Duh'у понадобился Р-буфер... но задник можно например выводить в него

хотя гораздо проще для задников отключиить Z-буфер, отсортировать их самостоятельно и нарисовать, потом включить обратно и нарисовать уже ближнюю сцену с нужной степенью детальности

32 бита вполне достаточно для этого + разумнее конечно пользоваться типами, поддерживаемыми аппаратно напрямую, то есть в данном случае флоатом
_________________
This is what you get ...
(c) Radiohead
    Добавлено: 23:26 10-06-2008   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
Репутация: 13
Сообщения: 1420
Откуда: Хабаровск
Зарегистрирован: 12.11.2007
Где-то в сети видел информацию, где сделали высокопроизводительный сервер, где вычисления идут с помощью процессоров видеокарт, в итоге компьютер с одной платой и процессором AMD, с четырьмя GForce, работает быстрее кластера из сотни компьютеров на Core 2 Duo. Имеет смысл всем программистам глубже изучить устройство современных GPU, их можно использовать не только для графики но и для ускорения других процессов.
    Добавлено: 09:26 11-06-2008   
Sh.Tac.
 151 EGP


Рейтинг канала: 5(108)
Репутация: 14
Сообщения: 1426

Зарегистрирован: 27.07.2005
Zachesa :
Где-то в сети видел информацию


очень многообещающее начало... Ой, не могу!..

вообще это гониво (в железный канал - юмор)

Цитата:
в итоге компьютер с одной платой и процессором AMD, с четырьмя GForce, работает быстрее кластера из сотни компьютеров на Core 2 Duo.


ты хоть думал чего пишешь? Гы-гы

один АМД (какой ?) + 4 GF быстрее 100 х Core2Duo

что значит быстрее? Подозрение.
в мегагерцах?

или всё-таки во флопах, как принято считать в порядочном обществе?

а вообще узкозаточенный (на несколько операций) GPU никогда не переплюнет CPU по общей производительности
_________________
This is what you get ...
(c) Radiohead
    Добавлено: 12:48 11-06-2008   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
Sh.Tac. :
а вообще узкозаточенный (на несколько операций) GPU никогда не переплюнет CPU по общей производительности


Sh.Tac. :
вообще это гониво (в железный канал - юмор)

Гы-гы

Скажем так, в некоторых операциях, используя GPGPU можно переплюнуть CPU в сотни раз. Но есть свои довольно большие ограничения. Это сложно, но можно.

Кстати, физику сейчас модно переносить на GPU - производительность очень отличается от физики на CPU. Другое дело что

Zachesa :
работает быстрее кластера из сотни компьютеров на Core 2 Duo

преувеличены цифры

Гугли nVidia CUDA.
_________________
MOV topka, C++
    Добавлено: 13:27 11-06-2008   
Endeavour
 1015 EGP


Рейтинг канала: 1(2)
Репутация: 105
Сообщения: 7041
Откуда: guess
Зарегистрирован: 26.05.2005
http://www.overclockers.ru/hardnews/29346.shtml
    Добавлено: 13:30 11-06-2008   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
О, действительно. Супер!
_________________
MOV topka, C++
    Добавлено: 13:41 11-06-2008   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
Репутация: 13
Сообщения: 1420
Откуда: Хабаровск
Зарегистрирован: 12.11.2007
Sh.Tac. :
(в железный канал - юмор)
безо всякого смеха. Скажем для выполнения алгоритмов ИИ, где многие задачи можно распараллелить, вдруг удастся задействовать ресурсы GPU. Единственно в ближайшие годы врядли увидим возможность использовать эти возможности в визуальных средах разработки (Visio, Delphi) народ помешался на графических красотах, а хороший ИИ на последнем месте.
    Добавлено: 14:58 12-06-2008   
Канал Игры Мечты: «FAQ по OpenGL»
На страницу: Пред.  1, 2, 3 ... 13, 14, 15, 16  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Пилот в оффлайне спокойно валяется в базе и нагрузки на сервер не даёт. (Pegasus)

  » FAQ по OpenGL | страница 14
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18