IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Как рисовать на форме?((-:, трехмерные игры!(-:
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 48
Пол: Мужской

Репутация: -  0  +


Хочу взяться за игрушку... но хочется чего-то быстрого и скорее всего трехмерного. Выводит через канву на TImage компонент по-моему не выход... тормозить скорее всего будет... так как же тогда??
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 48
Пол: Мужской

Репутация: -  0  +


Че никто не знает? rolleyes.gif :D
а можно ли OpenGL на форму встроить? было бы очень кстати....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






BlackNightFear
Дело не в том, что никто не знает... Сложно это объяснить... Скачай отсюда ФАК по Дельфи. Там было про использование OpenGL
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 48
Пол: Мужской

Репутация: -  0  +


там чето ОЧЕНЬ мало что с ОГЛ.... кстати, ну мне и не надо всю ОГЛ объяснять lol.gif мне только как через ОГЛ обратится к Image, а далее я уж сам!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Бывалый
***

Группа: Пользователи
Сообщений: 206
Пол: Мужской

Репутация: -  3  +


Если речь идет о Дельфи, то в книжке Краснова по ОГЛ+Дельфи написано, что выводить на комопонент типа TImage нежелательно, потому что этот компонент не имеет собственного окна (в отличие от TForm, TPanel или даже TButton). И мне это и правда не удалось. А вот рабочий пример по выводу на TPanel могу кинуть (из все той же книжки Краснова).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 48
Пол: Мужской

Репутация: -  0  +


Бродяжник
если не затруднит кинь сюда: blacknightfear@mail.ru
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 48
Пол: Мужской

Репутация: -  0  +


кстати, не подскажешь, где закачать такую книжку?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 48
Пол: Мужской

Репутация: -  0  +


Бродяжник
кстати, а вот ты тут говоришь про рисование на Панельке... ты имеешь ввиду с помощью канвы? ведь у панельки нет, на сколько мне известно, канвы....
Кто кого не допонял?((-:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


Цитата
ведь у панельки нет, на сколько мне известно, канвы....

млин...... дельфи не стоЯт... а то бы точно сказал... по моему есть
^^^^^^^^^^^^^^^^^^
ой, лол получился lol.gif lol.gif


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






BlackNightFear
GoodWind
Читаем DRKB:
Цитата
Как рисовать на компоненте, если свойство Canvas недоступно?

У всех компонентов, порожденных от TCustomControl, имеется свойство Canvas типа TCanvas. Если свойство Canvas недоступно, Вы можете достучаться до него созданием потомка и переносом этого свойства в раздел Public.

Код

Type
 TcPanel = Class(TPanel)
 Public
   Property Canvas;
 End;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


ну вот, пришел volvo и все разьяснил lol.gif


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Бывалый
***

Группа: Пользователи
Сообщений: 206
Пол: Мужской

Репутация: -  3  +


Это не я имел в виду, а г-н Краснов.
Цитата
Вывод на компоненты Delphi средствами OpenGL
Теоретически с помощью функций OpenGL можно осуществлять вывод не только на поверхность формы, но и на поверхность любого компонента, если у него имеется свойство Canvas. Handle, для чего при получении ссылки на контекст воспроизведения необходимо указывать ссылку на контекст устройства, ассоциированную с нужным компонентом, например, image1. Canvas. Handle. Однако чаще всего это приводит к неустойчивой работе, вывод то есть, то нет, хотя контекст воспроизведения присутствует и не теряется. OpenGL прекрасно уживается с визуальными компонентами, так что чаще всего нет необходимости осуществлять вывод на поле не формы, а компонента Delphi. Вывод можно осуществить и на поверхность панели - компонента, вообще не имеющего свойства canvas. Для этого мы пользуемся тем, что панель имеет отдельное окно:

dc: = GetDC (Panell. Handle);
SetDCPixelFormat(dc);
hrc: = wglCreateContext(dc);

Аналогичным образом можно организовать вывод на поверхность любого компонента, имеющего свойство Handle (т. e. имеющего самостоятельное окно), например, на поверхность обычной кнопки.
Для вывода на компонент класса TImage можете записать.
dc: = Imagel. Canvas. Handle;
и удалить строки BeginPaint и EndPaint, поскольку класс TImage не имеет
свойства Handle, т. e. не создает отдельного окна. Однако вывод на компоненты, подобные компонентам класса Timage, т. e. не имеющие свойства Handle, отличается полной неустойчивостью

И вот мне самому удалось рисовать на панельке, а на Image - нет.

Сообщение отредактировано: Бродяжник -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.04.2024 18:09
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name