Вниз
Скачать: CL | DM;

Рисовать на GLPlane   Найти похожие ветки 

 
Санёк   (2005-04-14 23:37) [0]

Есть у меня плоскость (использую GLScene).
мне нужно на этой плоскости рисовать точки, линии, вобщем примитивы.
посмотрел пример GLScene\Demos\bench\canvas
там отрисовка идет непосредственно на Canvas GLViewer"a.

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


 
Домовенок   (2005-04-15 01:11) [1]

Рисуй на БитМапе, и натягивай его текстурой. :)


 
Санёк   (2005-04-15 01:37) [2]

а собственного канваса у плоскости нету? :(


 
Домовенок   (2005-04-16 17:56) [3]

Точно не знаю (неуверен). Но предполагаю, что нету.


 
DeadMeat ©   (2005-04-16 20:17) [4]


> а собственного канваса у плоскости нету? :(

Как я понимаю, такое понятие у объектов отсутствует как таковое..

Поищи на caperaven (все время забываю как пишется)... Там есть пример... Как раз то, что тебе нужно..

---
...Death Is Only The Begining...


 
Санёк   (2005-04-16 20:52) [5]

DeadMeat, спасибо, поищу.
как описал выше уже сделал и в принципе все работает :)


 
DeadMeat ©   (2005-04-16 23:22) [6]

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-17 15:15) [7]

Спасибо :)

Забавно получается - вот код из примера:


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-17 17:31) [8]


> Что мы там видим?
> GLFreeForm1.Material.Texture.Image.Assign(FCanvas);
> значит другого пути нету :)

И что?

Тебя смутило FCanvas или что?

---
...Death Is Only The Begining...


 
Санёк   (2005-04-17 17:43) [9]

да ничего меня не смутило.
там же все равно так же как и я делаю сделано :)
вобщем спасибо, вопрос исчерпан.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.021 c
3-1118918805
anarhi
2005-06-16 14:46
2005.07.31
Oracle и сеть


1-1120763531
Kastusik
2005-07-07 23:12
2005.07.31
Перерисовка в TListView


14-1120635422
paul_k
2005-07-06 11:37
2005.07.31
Помогите документацией на русском по SYBASE ASA 5.5


5-1091566662
boband
2004-08-04 00:57
2005.07.31
Stack overflow - save your work and restart Delphi


1-1121265337
Delphi_is_cool
2005-07-13 18:35
2005.07.31
TWebBrowser.Перехватить открытие страницы в новом окне




   Наверх