PMG https://forum.pmg.org.ru/ |
|
Компонент TFlowVisualizer https://forum.pmg.org.ru/viewtopic.php?f=1&t=8041 |
Страница 2 из 2 |
Автор: | Da Man [ 04 окт 2010 22:38 ] |
Заголовок сообщения: | Re: Компонент TFlowVisualizer |
Цитата: Немаловажную роль конечно сыграл тот факт, что на ноуте вместо картинки из VBO - пустой экран. Не надо кривизну собственных рук переносить на этот замечательный API! P.S. Попробую угадать. Когда биндишь вбо в glVertexPointer последним элементом указываешь на массив вершин, а не смещение в вбо... |
Автор: | Dion [ 05 окт 2010 13:41 ] |
Заголовок сообщения: | Re: Компонент TFlowVisualizer |
Da Man Как говорится, у кого, что болит тот о том и говорит. Поэтому прочитайте пост внимательней. И если вдруг ваш мозг сможет понять, что буфер не работает на ноутбуке, то это будет здорово. Ведь это так глупо делать выводы о других людях и обстоятельствах в их жизнях, основываясь на собственном опыте и возможностях. |
Автор: | Dion [ 05 окт 2010 14:04 ] |
Заголовок сообщения: | Re: Компонент TFlowVisualizer |
MagicWolf Я и так уже делаю на DX. Если в OpenGL у меня есть вопросы и форум мог мне чем-либо помочь, так как опыта маловато. То в Direct3D9 у меня нет вопросов относительно общей реализации. Да и задача несколько специфическая, вот например; последнее что написал: иерархический двусвязный список и его оболочку для доступа к входным параметрам генераторов графических объектов. Забавная конечно штука получилась. Список для сцен, каждый элемент которого содержит список кадров, а каждый кадр список полей, а поля хранят указатель на выделяемую память заданного размера. При изменении списка производится его обход с формированием индексированного массива к которому можно обратиться для доступа к объекту списка. Вряд-ли кто-то такими штуками пользуется. |
Автор: | MagicWolf [ 05 окт 2010 16:42 ] |
Заголовок сообщения: | Re: Компонент TFlowVisualizer |
С DX не работаю. VBO заменяется обычными Array: Код: if ( yes_buffers_ogl && scene_setting!=0 && scene_setting->yes_buffer_ogl ) { glBindBuffer(GL_ARRAY_BUFFER, bufferID); glVertexPointer(3, GL_FLOAT, 0, 0); glTexCoordPointer(2, GL_FLOAT, 0, (GLvoid*)off_tex); if ( yes_blend==true ) glNormalPointer(GL_FLOAT, 0, (GLvoid*)off_nor ); } else { glVertexPointer(3, GL_FLOAT, 0, (GLvoid*)mesh_temp.vertexs); glTexCoordPointer(2, GL_FLOAT, 0, (GLvoid*)mesh_temp.tex_coords); if ( yes_blend==true ) glNormalPointer(GL_FLOAT, 0, (GLvoid*)mesh_temp.normals); } glDrawArrays(GL_TRIANGLES, 0, material->count_tri*3); Почти ничем не отличается. |
Автор: | Dion [ 05 окт 2010 18:03 ] |
Заголовок сообщения: | Re: Компонент TFlowVisualizer |
Как я понял, Array - это штучный элемент, то есть он один и если у меня несколько источников данных, то его нужно перезаполнять на каждом кадре. Чтобы этого не делать а хранить уже существующие массивы вершин в памяти видеокарты "статические" лучше использовать списки изображения, но их функционал (блокировка списков) не соответствует ожиданиям, следовательно переходим к VBO, а он не работает на ноутбуке. В DX я создаю к примеру два буфера вершин. Декларирую их как два источника данных для одной функции рисования. Дальше я могу менять или оба буфера или один из них или никакой, что увеличивает производительность на этапе записи данных в GPU. Т.е. если мне нужно поменять 1000 вершин из 20000 то я меняю только эту тысячу. А если нужно поменять цвет у всех 20000 вершин я обращаюсь к другому буферу и безо всяких сдвигов байт для оттенков заливаю их одной процедурой move. Такая функциональность требуется, но я не нашел её в OpenGL. Может просто не там искал? |
Автор: | Da Man [ 06 окт 2010 01:29 ] |
Заголовок сообщения: | Re: Компонент TFlowVisualizer |
Цитата: что буфер не работает на ноутбуке, то это будет здорово. и Цитата: Я и так уже делаю на DX. ... То в Direct3D9 у меня нет вопросов относительно общей реализации. Свидетельствует о том, что у тебя железо далеко не прошлого тысячелетия. ВБО было добавлено в ОГЛ 1.5 (2003-й год) Следовательно я надеюсь, что твой мозг сможет понять, что управляет кривыми руками. З.Ы. Ну и на будущее, не пытайся корчить из себя умника и так сверхостно унизить меня ![]() |
Автор: | Dion [ 06 окт 2010 10:00 ] |
Заголовок сообщения: | Re: Компонент TFlowVisualizer |
Для тех, кто в танке. Заходишь в поисковик, да даже яндекс. Пишешь в строке поиска: Пример VBO В яндексе: вот это первая строчка: Использование расширения GL_ARB_Vertex_Buffer_Object - Статьи... Жмешь на ссылку и попадаешь на страницу: http://www.mirgames.ru/articles/opengl/vbo.html В самом низу есть ссылка в разделе файлы к статье: Пример VBO Качаешь. Разархивируешь. Запускаешь. Смотришь. Выключаешь. В директории, где лежит приложение, появился файл log.txt Открываешь его и видишь: [------0] "eXgine 0.70" log start [-----49] Input : Keyboard ready [-----24] Input : Mouse ready [-----69] Input : Joystick not ready [-----23] Window : Create main window [-----22] OpenGL : init graphics core [-----21] OpenGL : GL_VENDOR : Microsoft Corporation [-----19] OpenGL : GL_RENDERER : GDI Generic [-----21] OpenGL : GL_VERSION : 1.1.0 [-----21] OpenGL : MAX_TEX_UNITS : 0 [-----21] OpenGL : MAX_TEX_SIZE : 1024 [-----20] OpenGL : MAX_ANISOTROPY : 0 [-----21] OpenGL : USE_AA_SAMPLES : 0 [-----21] OpenGL : Reading extensions [-----21] OpenGL : - WGL_EXT_swap_control : Fail [-----21] OpenGL : - GL_ARB_multitexture : Fail [-----21] OpenGL : - GL_EXT_framebuffer_object : Fail [-----41] OpenGL : - GL_ARB_shading_language : Fail [-----22] OpenGL : - GL_ARB_vertex_buffer_object : Fail [-----16] Texture : Fatal Error "GL_ARB_multitexture" [---9604] Window : Destroy main window [-----20] "eXgine 0.70" log close Закрываешь. Тут и так всё понятно. Da Man Это всё, что я делал для проверки VBO на ноутбуке. Как видишь, руки тут не причем. Я надеюсь, у тебя хватит смелости принести свои публичные извинения за умышленное оскорбление чужого достоинства. |
Автор: | Da Man [ 06 окт 2010 22:38 ] |
Заголовок сообщения: | Re: Компонент TFlowVisualizer |
Цитата: [-----21] OpenGL : GL_VENDOR : Microsoft Corporation У тебя дрова на гл не стоят ![]() ![]() |
Автор: | Dion [ 11 окт 2010 14:16 ] |
Заголовок сообщения: | Re: Компонент TFlowVisualizer |
На компьютере стоит последняя версия драйверов. Release Date 2/24/2010. И даже рядом с часами висит значек ATI. А в нём: верcия OpenGL 6.14.10.8545. Но изображения то-нет. |
Автор: | Da Man [ 11 окт 2010 21:33 ] |
Заголовок сообщения: | Re: Компонент TFlowVisualizer |
Может ты скажешь для начала модель видео? Судя пр этому: Цитата: [-----21] OpenGL : GL_VERSION : 1.1.0 У тебя не стоят дрова на гл, а по этому: Цитата: [-----21] OpenGL : GL_VENDOR : Microsoft Corporation что используется софтварная растеризация от мс... |
Автор: | Dion [ 12 окт 2010 09:59 ] |
Заголовок сообщения: | Re: Компонент TFlowVisualizer |
Radeon X800 |
Автор: | MagicWolf [ 13 окт 2010 15:31 ] |
Заголовок сообщения: | Re: Компонент TFlowVisualizer |
Для просмотра доступных расширений и версии OGL можно использовать glview: http://www.realtech-vr.com/glview/ |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |