Форум: "Media";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];
ВнизГрафика в OpenGL Найти похожие ветки
← →
Sash1988 © (2005-03-07 23:25) [0]Я пытаюсь составить простейшую программу в OpenGL - нарисовать точку - и не могу понять в чём у меня ошибка???????
glViewPort(0,0,500,500);
glpointsize(20);
glcolor3f(100,0,0);
glBegin(gl_points);
glvertex2f(1,1);
glEnd;
swapbuffers(canvas.Handle);
← →
XProger © (2005-03-08 00:15) [1]glpointsize(8);
← →
AlterEgo of WondeRu © (2005-03-08 12:07) [2]Sash1988 © (07.03.05 23:25)
glcolor3f(100,0,0);
на всякий случай
glColor3b(100, 0, 0);
← →
XProger © (2005-03-08 16:59) [3]Или :)
glColor4ub(100, 0, 0, 255);
тож на всякий
← →
Sash1988 © (2005-03-09 00:41) [4]Ничего не изменилось, я не могу понять где и как эта точка должна выглядеть, он либо не выводит его на форму либо я что-то неправильно написал, но в коде ошибок не должно быть, может процидуру вывода как-нибудь заменить можно?
← →
марсианин © (2005-03-09 01:21) [5]ты там точку ищешь?
glvertex2f(1,1); - это верхний правый угол :)
swapbuffers(canvas.Handle); - эта строчка не нравится.. дело в том, что canvas.Handle может вернуть хоть правильный dc, пригодный для рисования.. но другой, не тот, что использовался при инициализации ОпенГл..
и дай посмотреть весь код инициализаци...
← →
WondeRu © (2005-03-09 08:53) [6]марсианин © (09.03.05 1:21) [5]
угу, лучше взять HDC, а точку попробуй нарисовать в (0, 0)
← →
Sash1988 © (2005-03-09 21:58) [7]unit OOpennGL;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, openGL, ExtCtrls;
type
TForm1 = class(TForm)
procedure FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
//canvas.Ellipse(200,200,100,100);
glClear(GL_DEPTH_BUFFER_BIT or GL_COLOR_BUFFER_BIT);
glViewPort(0,0,500,500);
glpointsize(8);
glcolor3D(100,0,0);
glBegin(gl_points);
glvertex2f(0,0);
glEnd;
swapbuffers(canvas.handle);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
canvas.Brush.Color:=clgreen;
end;
end.
← →
Sash1988 © (2005-03-09 22:00) [8]Я не пойму, на что надо изменить "canvas.handle" ?????
← →
XProger © (2005-03-09 23:16) [9]Sash1988, если это вся твоя программа то прими мои глубочайшие соболезнования...
Во-первых, где у тебя инициализация OpenGL для данного приложения?
Во-вторых, а где ты настраиваешь матрицу проекции и матрицу вида?
Лучше бы взял пример вращаючегося кубика и разобрал по частям, прежде чем задавать вопросы ответы на которые даже и не пытаешься искать сам...
← →
Sash1988 © (2005-03-10 23:49) [10]XProger спасибо, не подскажешь где ещё можно взять немудрёного вспомогательного материала
← →
WondeRu © (2005-03-11 08:28) [11]на сайте www.podgoretsky.com есть книга М.Краснова "OpenGL.Графика в проектах Delphi"... а лучше купи ее в магазине (как сделал я), она порядка 90 рублей стоит всего. Там куча примеров + поддержка автора по мылу!
← →
XProger © (2005-03-12 04:32) [12]http://XProger.narod.ru/Files/OpenGL_book.rar
http://XProger.narod.ru/Files/Disk.rar
← →
Sash1988 © (2005-03-24 23:47) [13]Ясно, и всё - таки, если не трудно, пожайлуста покажите как сия программа должна выглядеть, примеры, которые я нахожу, они уже с модифицированием(вращением, мерцанием и т.д.), а так как я пока что плохо разбираюсь в кодинге, поэтому мне трудно их разбирать, так как зачастую большую часть команд я не понимаю, то вы бы могли оказать мне огоромную услугу.
← →
Sash1988 © (2005-03-25 01:23) [14]XPoger спасибо, я нашёл тот пример который искал, т.е. полный вид программы, но теперь у меня другой вопрос, при создании проэкта Делфи автоматически создаёт форму стандартного типа, ак мне настроить её так что бы она создавала формы для ОпенЖЛ, поскольку, если я не ошибаюсь, на обычной форме с ОпенЖл работать трудно, а создавать другую, потом удалять старую, удалять паз, немного нудно, и почему я могу создавать формы для ЖЛ только когда всю шапку оформлю???
← →
XProger © (2005-03-25 18:56) [15]Нет никакой разницы на какой форме что делать. Также нет GL форм.
Есть Win API посредством которого можно создать окно (форму). Но делается всё ручками. В итоге твоя прога может занимать около 20 кб.
Чтобы удалить VCL форму:
Project - Remove from project...
там выбираешь всё и удаляешь. Фора исчезнет. Затем жми на Project - View Source. И удали всё не нужное из кода, получив при этом:
program Project1;
uses
Windows, Messages;
{$R *.res}
begin
end.
Теперь можешь сохранять проект и приступать к работе.
А создание окон и инициализация OpenGL для этого случая хорошо продемонстрировано во всех примерах Яна Хорна (светлая память ему) http://www.sulaco.co.za/
← →
П7 (2005-06-23 19:54) [16]А не проще ли создавать консольную прорамму, а потом удалить из неё всео одну строчку?
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.046 c