[Delphi] Cieniowanie,animacja

0

Jest taki problem dwie kule, jedna większa druga mniejsza,mniejsza działa jak słońce (czyli "świeci" :) i oświetla drugą kule, większa kula jest scieniowana no i rzuca cien, dla utrudnienia słoneczko jeszcze sie obraca wokół większej. Rozbije to na dwa podproblemy: scieniowanie kuli i animacja ruchu kulki. Z góry dziękuje za pomoc. Interesuje mnie algorytm cieniowania oraz metoda animacji ruchu bryły

0

Najlepiej byłoby użyć DirectX lub jeszcze lepiej OpenGL.
Jeżeli jednak potrzebujesz konkretnego algorytmu to poszukaj:

  • ray-tracing
  • gouard shading (chyba tak się pisze)
  • flat shading (co do tego to ew. mógłbym poszukać algorytmu, bo gdzieś w książce mam, jednak efekty nie najciekawsze)
0

co do tych efektów radzę zobaczyć na gotowce biblioteki Open GL
pod delphi jest komponent wykorzystujący tę bibliotekę..

0

a nieda sie tego zrobić w Delphi że aż trzeba sięgać po oGL. ale chyba już coś wymyśliłem korzystając z rzutu równoległego ortogonalnego i nie-, więc sprawe cieniowania mam już załatwioną; zostaje mi jeszcze jak ruszyć "słoneczko" wokół kuli na definiowanej wysokości i odległości.

0

wszystko da się w delphi jednak wybór biblioteki ma wpływ na szybkość działania programu...

0

Czy może mi ktoś powiedzieć czemu ten fragment programu nic nierobi??

procedure Tprojekt.putpixel(a:integer;b:integer;c:TColor);
begin
image1.canvas.pixels[a+(image1.width div 2),-b+(image1.height div 2)]:=c;
end;

procedure Tprojekt.oswietlenie(a:integer;b:integer);
var k:TColor;
rp,m,n:integer;
R:byte;
i:real;
begin
k:=clblack;
rp:=1;
R:=GetRValue(k);
while rp!!!

1 użytkowników online, w tym zalogowanych: 0, gości: 1