![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Рисовать на GLPlane [Delphi, Windows]
Санёк © (2005-04-14 23:37:00)Есть у меня плоскость (использую GLScene).
мне нужно на этой плоскости рисовать точки, линии, вобщем примитивы.
посмотрел пример GLScene\Demos\bench\canvas
там отрисовка идет непосредственно на Canvas GLViewer'a.
как бы рисовать на плоскости?
есть бредовая идея - создать битмап, рисовать на нем, а его уже использовать как текстуру к плоскости.
хочется проще - как?
Санёк (2005-04-17 17:43:00) [1]да ничего меня не смутило.
там же все равно так же как и я делаю сделано :)
вобщем спасибо, вопрос исчерпан.
DeadMeat (2005-04-17 17:31:00) [2]
> Что мы там видим?
> GLFreeForm1.Material.Texture.Image.Assign(FCanvas);
> значит другого пути нету :)
И что?
Тебя смутило FCanvas или что?
---
...Death Is Only The Begining...
Санёк (2005-04-17 15:15:00) [3]Спасибо :)
Забавно получается - вот код из примера:
procedure TForm1.FormCreate(Sender: TObject);
var
lVector : TVector3f;
U, V : Single;
i : Integer;
begin
{Prepare Canvas}
FCanvas := TBitmap.Create;
FCanvas.Width := CBitWidth;
FCanvas.Height := CBitWidth;
{Draw line across bitmap}
FCanvas.Canvas.MoveTo(0, 0);
FCanvas.Canvas.LineTo(CBitWidth, CBitHeight);
GLFreeForm1.Material.Texture.Disabled := False;
GLFreeForm1.LoadFromFile(ExtractFileDir(Application.ExeName) + '\plane.3ds');
GLFreeForm1.MeshObjects[0].GetExtents(FMin, FMax);
for i := 0 to GLFreeForm1.MeshObjects[0].Vertices.Count - 1 do
begin
lVector := GLFreeForm1.MeshObjects[0].Vertices[i];
UVPlanarMapping(lVector, FMin, FMax, U, V);
GLFreeForm1.MeshObjects[0].TexCoords.Add(U, V, 0);
end;
GLFreeForm1.Material.Texture.Image.Assign(FCanvas);
GLSphere1.Scale.SetVector(1/GLFreeForm1.Scale.X,
1/GLFreeForm1.Scale.Y,
1/GLFreeForm1.Scale.Z);
end;
Что мы там видим?
GLFreeForm1.Material.Texture.Image.Assign(FCanvas);
значит другого пути нету :)
DeadMeat (2005-04-16 23:22:00) [4]http://www.caperaven.co.za/gls/tutorials/documents/p3d/p3d.zip
http://www.caperaven.co.za/projects/3dpaint/index.htm
Кажись оно...
---
...Death Is Only The Begining...
Санёк (2005-04-16 20:52:00) [5]DeadMeat, спасибо, поищу.
как описал выше уже сделал и в принципе все работает :)
DeadMeat (2005-04-16 20:17:00) [6]
> а собственного канваса у плоскости нету? :(
Как я понимаю, такое понятие у объектов отсутствует как таковое..
Поищи на caperaven (все время забываю как пишется)... Там есть пример... Как раз то, что тебе нужно..
---
...Death Is Only The Begining...
Домовенок (2005-04-16 17:56:00) [7]Точно не знаю (неуверен). Но предполагаю, что нету.
Санёк (2005-04-15 01:37:00) [8]а собственного канваса у плоскости нету? :(
Домовенок (2005-04-15 01:11:00) [9]Рисуй на БитМапе, и натягивай его текстурой. :)