Войти

Показать полную графическую версию : Рендер на C++, работа с графикой на C++


ManHack
19-01-2011, 18:29
Здравствуйте!
Я собираюсь написать рендер методом фотонных карт на C++.
Что мне потребуется, чтобы в C++ работать с графикой (потребуется создание трёхмерной сцены с примитивами и протяжёнными источниками света на ней, без использования графических библиотек типа DirectX3D и OpenGL)?
До этого я писал на Си и на Яве, но приложения, работающие с графикой делать не приходилось. Помогите начать ^_^
И, если есть какая-нибудь путёвая литература по моему вопросу, подскажите пожалуйста.
заранее спасибо! :)

Beyound
19-01-2011, 18:50
скажу сразу - фотонные карты я не рисовал поэтому не скажу есть ли что уже написанное на эту тему. А по теме - ну прежде всего тебе стоит почитать про OpenGl или DirectX. В принципе выбор неважен.. на любителя. Я ток с 1-ым знаком. Вот это уроки для начинающих на OpenGl (http://www.esate.ru/page/uroki-OpenGL-c-sharp/) неплохие. D OpenGl все просто - сначала на листочке пишешь всю математику, потом примитивчиками рисуешь.

А если без OpenGl и DirectX - то это можно попробовать реализовать скажем через событие OnPaint() в нем ты ручками создаешь объект класса Graphics и в нем уже рисуешь что тебе надо, естественно в 2D (производительность такого метода под большим сомнением). А вообще на мой взгляд это немного странно - рисовать сцены не используя библиотеки для быстрой и удобной работы с видеокартой.

Admiral
19-01-2011, 20:08
ManHack, начать можно отсюда http://www.gamedev.ru/code/terms/PhotonMapping
А пример (A Photon Map Implementation in C++) есть в книге Realistic Image Synthesis Using Photon Mapping (http://graphics.ucsd.edu/~henrik/papers/book/)

ManHack
30-01-2011, 22:13
А если без OpenGl и DirectX - то это можно попробовать реализовать скажем через событие OnPaint() в нем ты ручками создаешь объект класса Graphics и в нем уже рисуешь что тебе надо
А можно об этом поподробнее?
Ещё меня интересует как таким "рисованием" воспользоваться в C#?

Beyound
31-01-2011, 18:56
поподробнее.. не вопрос.. вот пример
этот метод хорош если нужно рисовать нечасто и чтото относительно простое. Поставь таймер на 10мс и узнаешь почему часто рендеринг делать нестоит.




© OSzone.net 2001-2012