Программирование CUDA/OpenGL

KL9YnEr

Ословед
Может ктонть выложить список ВСЕХ функций, которые есть в opengl32.dll, но которых нет в OpenGL.pas
 

    List

    очки: 7
    спс за репку )

Neo_S

Ословед
ИМХО легче взять модуль dglOpenGL, где есть описания практически всех функций, либо сделать свой модуль и добавлять нужные расширения по мере необходимости.

Вот полный список расширений: http://www.opengl.org/registry/
Прикрепил одну из последних версий dglOpenGL уже с поддрежкой OpenGL 3.0
 

KL9YnEr

Ословед
У меня снова вопрос.
Никто не знает, почему при включении glEnable(GL_DEPTH_TEST) в приложении с VSL начинаются ужасные глюки?
Короче дептх тест не робит, некоторые примитивы не рисуются(в зависимости от положения камеры).
Я как понял, что там что-то просчитывается, но совсем не правильно:(
Как исправить??
 

Neo_S

Ословед
У меня снова вопрос.
Никто не знает, почему при включении glEnable(GL_DEPTH_TEST) в приложении с VSL начинаются ужасные глюки?
Короче дептх тест не робит, некоторые примитивы не рисуются(в зависимости от положения камеры).
Я как понял, что там что-то просчитывается, но совсем не правильно:(
Как исправить??
При граматном использовании Depth Test (тест глубины) работает всегда правильно (без разницы, с VCL написано или на АПИ). Как вариант включи glDepthMask(true). Не забудь также про в glClear указать GL_DEPTH_BUFFER_BIT. А вообще нужно смотреть конкретно глюки, и конкретно код.
 

KL9YnEr

Ословед
А отчего вообще сглаживание зависит в OpenGL???
И можно как-нибудь разным граням задавать разные группы сглаживания??
 

KL9YnEr

Ословед
Вот такой у меня вопрос.
Как в ОпенГЛе, при создании текстуры, точнее при отправке данных о текстуре через процедуру glBuild2DMipMaps или glTexImage2D, сделать так чтобы он считывал информацию о пикселях на которые рассчитано по 8(256 цветов), 4(16 цветов) или даже одному(2 цвета) биту памяти, а еще возможно такое, что картинка 8бит на пиксель содержит в себе не по 256 цветов на пиксель, а черно белую картинку с оттенками серого, ну тоесть альфа канал например или карту высот. Какие параметры отвечают за все это барахло???
 

    Ragon

    очки: 15
    Благадарю
где можно скачать все необходимое для работы с openGL в среде VS?
 
Программирование CUDA/OpenCL

CUDA/OpenCL рассчитаны для счета не графических вычислений на ГП.
С помощью них можно очень быстро совершать расчеты.
Чтобы начать программировать нужно скачать CUDA toolkit(или только SDK) с офф. сайта nvidia.
Или (только OCL) с сайта AMD.

Хотелось бы узнать кто и как и что делал на данных технологиях.
 
Эко тут народа негусто. Будем надеяться что ситуация исправится.
Пытаюсь реализовать на CUDA собственный алгоритм компенсации дрожания изображения в видеопотоке FullHD в реальном времени. Простейшая топорная реализация уже есть, результаты довольно хорошие. Сейчас стараюсь улучшить алгоритм, для этого нужна помощь кого-нибудь более опытного. Конкретно в данный момент стоит задача максимально быстро рассчитать интегральное представление изображения. Используя GPU, разумеется. Возникли некоторые проблемы в понимании работы с памятью (пытался оптимизировать один момент кешированием значений из глобальной памяти в регистры(по рассчету их хватает)/разделяемую память, эти значания используются более одного раза, но получил понижение быстродействия вместо повышения, не могу понять почему). Есть такие замечательные люди на этом форуме?
 
На правах апа - продолжаю изучать литературу NVIDIA. Прочитал про отличие Fermi (compute capability 2.x) от предыдущих архитектур - блин, вкусняшка аж слюнки идут. Если я правильно понял она не только кэширует обращения к глобальной памяти, но и объединяет почти любые транзакции в пределах одного warp'а (32 нити) в транзакции длинной 128 бит, если это вообще возможно - по сравнению с предыдущими архитектурами это может дать ускорение обращений к памяти до 32 раз и более (если учитывать то что обращения ещё и кэшируются).

Также понял что значило чьё-то изречение о том что программируя на CUDA нужно сразу целиться на определенную архитектуру - пересмотрев обращения к глобальной памяти в своей программе обнаружил что их можно оптимизировать так чтобы в два раза уменьшить обращения к памяти, при этом на архитектуре Fermi скорость работы алгоритма увеличивается где-то в два раза, однако на GPU с compute capability 1.x эта оптимизация дает наоборот замедление обработки примерно в 8 раз. Можно конечно уменьшить падение производительности на cc1.x небольшим костылём, но это так-же уменьшит прибавку в скорости на cc2.x. Считаю целесообразным разрабатывать алгоритм именно для свежей архитектуры не идя на компромисы ради поддержки предыдущих, раз уж такой расклад. Либо сделать отдельную реализацию для каждой архитектуры, но это потом.
 

KL9YnEr

Ословед
Сверху