Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.137.220.120] |
|
Страницы: (4) 1 [2] 3 4 все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
С точками-линиями это опять вопрос качества драйверов.
Где-то драйверописателей можно понять, если в играх почти исключительно треугольники, то зачем сверхбыстрое рисование точек. Можно сделать по принципу "лишь бы работало". Если возвращаться к гибридному рендеру - насколько я помню, в Вангерах машинки были довольно мелкие. Имеет смысл вытаскивать из видеокарты не весь экран/z-буфер, а только маленькие фрагменты вокруг нужных объектов. |
Сообщ.
#17
,
|
|
|
Чего-то я все писал коды, а тут утих, застой творческий(пишите/не пишите). Подведу пока итог: туда применяем быстрый glTexImage2D, а обратно медленный glreadpixels, что по прогнозу тоже неплохо должно выйти...
|
Сообщ.
#18
,
|
|
|
А где описана переменная GL_FRAMEBUFFER? Дело в том что пишу на мингве(не потому, что модно, а потому, что без памяти влюбился в codeblocks с первого взгляда ))) И вот он мне пишет not declared...
|
Сообщ.
#19
,
|
|
|
Цитата Serg2016_1 @ glew.hА где описана переменная GL_FRAMEBUFFER? #define GL_FRAMEBUFFER 0x8D40 #define GL_RENDERBUFFER 0x8D41 |
Сообщ.
#20
,
|
|
|
Все, изв. туплю...
|
Сообщ.
#21
,
|
|
|
Как я понял, чтобы забиндить framebuffer его надо создать типа: glGenFramebuffers(1, &fb1), а могут ли быть объективные причины того, что программа колбасит в этом месте доской с надписью 0x00000 не read?
|
Сообщ.
#22
,
|
|
|
Конечно. Если так сделаете, то и будет расколбас:
int MyGen(unsigned int &fb) { glGenFramebuffers(1, &fb); return 0; } main() { GLuint framebuffers=NULL; MyGen( framebuffers ); ... } Добавлено Ай, тьфу, вру. Учитывая: #define glGenFramebuffers GLEW_GET_FUN(__glewGenFramebuffers) |
Сообщ.
#23
,
|
|
|
Вишу на glGenFramebuffers. glewInit() работает, не знаю чего делать. glfw.
|
Сообщ.
#24
,
|
|
|
У меня получалось выбраться из такой ямы, вручную делая:
wglGetProcAddress("glGenFramebuffers"); Цитата Serg2016_1 @ Правильно ли я подразумеваю, что у вас сия функция системой не нашлась, и при отладке показывается, что glGenFramebuffers = NULL ? Вишу на glGenFramebuffers |
Сообщ.
#25
,
|
|
|
Вроде оно.Еще не проверял, но уже огр. спсб. Даже Билл Гейтс не додумался до такой дружелюбности пользовательского интерфейса.... Может еще с glfw openwindow чего-нибудь не контачит...
|
Сообщ.
#26
,
|
|
|
:-EEEEEEEEEEEEEEEE
В злодейском glGenFramebuffers по прежнему 0. У меня появилась здравая мысль, а что если моя карта не поддерживает fb. Тогда, понесу нот помощнее в ремонт, оставлю gl для androna, а к населению ВОПРОС: куда примерно надо в dx глядеть, чтобы сделать rendertotexture,чтение текстуры и збуффера в массив??? |
Сообщ.
#27
,
|
|
|
Цитата Serg2016_1 @ куда примерно надо в dx глядеть, чтобы сделать rendertotexture CreateTexture2D -> CreateRenderTargetView |
Сообщ.
#28
,
|
|
|
Цитата В злодейском glGenFramebuffers по прежнему 0. У меня появилась здравая мысль, а что если моя карта не поддерживает fb Попробуй glGenFramebuffersEXT, т.е. через расширение. В основную функциональность оно перенесено начиная с OpenGL 3, которого у тебя видимо нет. Можно и через DX, но лично мне после OGL возвращаться к DX (я довольно много работал с DX7-9) не хочется, там почти всё сложнее и муторнее, в DX10+ тем более. DX9: рендер в текстуру - Device.SetRenderTarget (+ нужно создать текстуру со спец. флагом), получение картинки - Device.GetRenderTargetData. Z-буфер - нужно указать спец. флаг при создании девайса, что-то там с LOCKABLE, залочить (Surface.Lock), скопировать, разлочить. И кстати, я тут ради развлечения упихал классический воксельный рендер (с циклом по столбцам) в GPU. Используются compute shaders, нужна видеокарта с поддержкой OpenGL 4.3. Картинки получаются примерно такие: Прикреплённая картинка
т.е. почти не отличимые от полигонального рендера, хотя при желании можно сделать и чтобы квадраты торчали. Без квадратов-то ведь не true? Чтоб как в 92-м: http://simulationcorner.net/index.php?page=comanche |
Сообщ.
#29
,
|
|
|
Хотя, есть у вокселей одно достоинство - позволяют относительно легко наращивать детализацию, FPS снижается, но не очень сильно (у меня 190 при стартовом положении камеры и размере окна).
Прикреплённая картинка
Прикреплённая картинка
Полигонами такое уже не так просто изобразить, во всяком случае брут-форс точно не потянет. Прикреплённый файлVoxGL.zip (98,96 Кбайт, скачиваний: 166) Управление - стрелки, правые Shift/Ctrl, пробел - движение, W - wireframe, L - освещение, V - большая дальность отрисовки, но может глючить вблизи. |
Сообщ.
#30
,
|
|
|