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

Ваш аккаунт

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

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

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

openGL , трафарет и платы nvida

72K
18 июля 2011 года
Serg-i
5 / / 17.07.2011
Уважаемые знатоки помогите кто знает!
Задача сделать вычитание одной 3-Х мерной фигуры из другой.
Хотел использовать метод трафаретов, описанный в книге Игорь Тарасов http://opengl.org.ru/ . Для илюстрации метода запускал примеры приведённые в книге Исходный файл http://r.codenet.ru/?http://opengl.org.ru/books/open_gl/chapter4/stencil/stencil.c. Исполняемый файл здесь http://opengl.org.ru/books/open_gl/chapter4/stencil/release/stencil.exe.
На всех компах, доступных мне, где стоит плата не nvidia работает нормально, а на nvidia крутится сплошной куб и всё. Непонятно что с этим делать.
[RIGHT][/RIGHT]
9
18 июля 2011 года
Lerkin
3.0K / / 25.03.2003
Цитата: Serg-i

На всех компах, доступных мне, где стоит плата не nvidia работает нормально, а на nvidia крутится сплошной куб и всё. Непонятно что с этим делать.



Для начала, не грешить на nvidia.

1.Ноут с Intel'ом в графике - крутится кубик.
2. Ноут с ATI-шной графикой - крутится кубик.
3. Комп с 8800 GTS - крутится кубик.
4. Комп с GTX570 - крутится кубик.

В консерватории много чего править надо.
Тарасовской книжонке - уже больше 12 лет. ВСЕ, что там написано - на помойку. Сейчас это делается по-другому.

72K
18 июля 2011 года
Serg-i
5 / / 17.07.2011
Цитата: Lerkin
Для начала, не грешить на nvidia.

1.Ноут с Intel'ом в графике - крутится кубик.
2. Ноут с ATI-шной графикой - крутится кубик.
3. Комп с 8800 GTS - крутится кубик.
4. Комп с GTX570 - крутится кубик.

В консерватории много чего править надо.
Тарасовской книжонке - уже больше 12 лет. ВСЕ, что там написано - на помойку. Сейчас это делается по-другому.




Спастибо за внимание к вопросу и за проведённые эксперименты.
Проверял на 6 компах 4 с разными nvidia 1 с встроеной Intel'овской графикой 1 с AMD. На nvidia крутится кубик на 2-х других всё нормально.
То что не идёт и на других платах для меня новость, спасибо, надо обдумать. А на каких нормально?
То что сейчас делается по другому, как? Если знаете подскажите. С помощью трафаретов несколько операторов и результат готов.
То что книга Тарасова старая так это да. Но все попадавшиеся мне книги по OPGL примерно такиеже. Есле знаете что нибуть по новей кинте адресок буду очень признателен.

9
18 июля 2011 года
Lerkin
3.0K / / 25.03.2003
Цитата: Serg-i
Спастибо за внимание к вопросу и за проведённые эксперименты.


[SIZE="2"][COLOR="gray"](скромно)[/COLOR][/SIZE] Это наша работа.

Цитата: Serg-i
Проверял на 6 компах 4 с разными nvidia 1 с встроеной Intel'овской графикой 1 с AMD. На nvidia крутится кубик на 2-х других всё нормально.
То что не идёт и на других платах для меня новость, спасибо, надо обдумать. А на каких нормально?


Я только на указанных мог проверить, ибо в пределах досягаемости.

Цитата: Serg-i

То что сейчас делается по другому, как? Если знаете подскажите. С помощью трафаретов несколько операторов и результат готов.


Вот в том-то и дело. А потребуется вывести фигурку сложнее, чем простая геометрия, или эффект интереснее чем одноточечный свет и примитивный туман, народ плюётся и разочаровывается. Чем и опасны такие вирши, как у Тарасова или... забыл, еще какой-то "пейсатель", у которого половина из "алгоритмических основ" списана, а другая половина - у Тарасова. :) Как это делать - см.ниже по литературе.

Цитата: Serg-i
То что книга Тарасова старая так это да. Но все попадавшиеся мне книги по OPGL примерно такиеже. Есле знаете что нибуть по новей кинте адресок буду очень признателен.


Очень сложно найти достойную литературу на русском языке, именно поэтому и складывается впечатление, что OpenGL - "а, это там, где десяток фигурок можно выводить?". Можно поглядеть этот раздел, но тоже ничего особо нового. Чуть больше, о понимании новых штук, можно получить тут. Но только примеры, без толкового разъяснения. Вообще, если с английским дружите, то качайте официальную документацию. Но тоже, в основном синтаксис, без примеров и разжёвываний. Ну, а если чтобы совсем хорошо было, вот вам книжечка:

Цитата:
OpenGL® Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1, 7th Edition

Dave Shreiner, The Khronos OpenGL ARB Working Group

© Jul 21, 2009 by Addison-Wesley Professional

Book
ISBN-10 0-321-55262-8
ISBN-13 978-0-321-55262-4


в сети валяется, я видел :) Вроде, и перевод есть. Не сверхновая, но правильную базу даёт.

Из этой серии, есть еще достойная:

Цитата:

OpenGL® SuperBible: Comprehensive Tutorial and Reference, 5th Edition

Richard S. Wright, Nicholas Haemel, Graham Sellers, Benjamin Lipchak

© Jul 23, 2010 by Addison-Wesley Professional

Book
ISBN-10 0-321-71261-7
ISBN-13 978-0-321-71261-5

eBook
ISBN-10 0-13-262937-2
ISBN-13 978-0-13-262937-9



И, в обязательном порядке, вот это:

Цитата:

OpenGL® Shading Language, 3rd Edition

Randi J. Rost,Bill Licea-Kane,Dan Ginsburg,John M. Kessenich,
Barthold Lichtenbelt, Hugh Malan,Mike Weiblen

© Jul 20, 2009 by Addison-Wesley Professional

Book
ISBN-10 0-321-63763-1
ISBN-13 978-0-321-63763-5

eBook
ISBN-10 0-321-77051-X
ISBN-13 978-0-321-77051-6



Вполне возможно, уже есть новые издания этих книжков.

72K
19 июля 2011 года
Serg-i
5 / / 17.07.2011
За литературу спасибо, особенно ценна статья RadicalEd.
Но наше обсуждение несколько отклонилось от темы. Программа уже написана. Это пособие по начерталке. Её задача показать, как строить линии пересечения 3-х мерных фигур.
Проблема сделать отверстия в этих фигурах. Хороша или плоха книга Тарасова судить не берусь, полностью не читал. Но вот то, что относится к трафаретам, легко и элегантно решает поставленую задачу. Беда только в том, что трафареты работают не на всех компах. Мне нужен совет, почему это происходит и как справится с этой проблемой.
Заранее Спасибо!

P.S. Ну а следующую прогу наверное буду писать с использованием более современной библиотеки.
6.0K
20 июля 2011 года
artyom-tyanutov
107 / / 10.07.2006
Ошибка тут:
 
Код:
auxInitDisplayMode( AUX_RGB | AUX_DEPTH | AUX_DOUBLE );

нужно:
 
Код:
auxInitDisplayMode( AUX_RGB | AUX_DEPTH | AUX_DOUBLE | AUX_STENCIL );


P.S.: OpenGL вполне современная библиотека, есть лишь т.н. "deprecated" функционал, о коем можно прочесть в спецификации OpenGL 3.3 на оффсайте.
P.S.S.: aux некроссплатформенная неразвивающаяся библиотека, лучше glut/SDL.
P.S.S.S.: не всё на помойку, тот же stencil как был, так и есть.
72K
20 июля 2011 года
Serg-i
5 / / 17.07.2011
Спасибо artyom-tyanutov ответ короткий и в тему. Только вот проверить мне его пока не удалось.
Дело в том что моя прога писана без использования библиотеке glaux и на borland, а подружить borland с glaux мне пока не удалось. Если знаете чем, из команд gl, можно заменить auxInitDisplayMode подскажите буду признателен.
6.0K
20 июля 2011 года
artyom-tyanutov
107 / / 10.07.2006
Нужно установить в ChoosePixelFormat в передаваемой структуре типа PIXELFORMATDESCRIPTOR поле cStencilBits в 8 бит.
72K
21 июля 2011 года
Serg-i
5 / / 17.07.2011
Класс всё работает огромное спасибо!!!

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог