Skocz do zawartości

OpenGL - obcinanie obiektu płaszczyzną


TSr

Polecane posty

Sytuacja wygląda następująco:

- w tablicy dwuwymiarowej przechowuję współrzędne punktów

- z przechowywanych punktów rysuje sobie wykres 3D (taką pozakrzywianą płaszczyznę), za pomocą Quadów.

- w niektórych miejscach na wykresie zdarza się, że wartości dążą do nieskończoności, albo bardzo dużej wartości

 

Problem jest taki, że chcę obciąć rysowany obiekt na pewnej wysokości. Jak można to zrobić? Załączam obrazek z mojego programu żeby uzmysłowić o co mi chodzi :)

 

Przy okazji druga sprawa. Czy jest jakiś łatwy sposób na pisanie tekstu położonego gdzieś w przestrzeni 3D?

zrzutekranu_Wykresy_3D.png

Link do komentarza
Udostępnij na innych stronach

Przy okazji druga sprawa. Czy jest jakiś łatwy sposób na pisanie tekstu położonego gdzieś w przestrzeni 3D?

Jeśli nie zależy Ci na tym by tekst był 3D, to możesz rysować quady z kanałem alpha, w moim projekcie zrobiłem takie coś (Jason PL jest w Downloadzie na mojej stronie).

Możesz też napisać funkcję odpowiednio rysującą GL_LINES dla każdej literki i przesuwałaby każdą literkę o nowym Translatef'em :) Czyli to samo co napisałem tylko bez tekstury, w case podając współrzędne. dla GL_LINES.

Link do komentarza
Udostępnij na innych stronach

Jest, bodajze na NeHe jest w ktorym tutku o tekscie wypisywanie normalnymi fontami, ktore masz w systemie tekstu w przestrzeni, sam z tego korzystalem, dlatego jak nie znajdziesz to Ci podrzuce kod :)

Ale to wypisywanie fontami jest zbyt zależne od systemu :)

Chyba, że dołączysz fonta i napiszesz klasę obsługującą dany typ czcionki.

Link do komentarza
Udostępnij na innych stronach

Dzięki za porady :)

Z tym tekstem to albo zrobię generowanie bitmap i później teksturowanie nimi quada, ale przyjrzę się też temu jak to jest w GLScene. Kursy na NeHe niestety mi w tym nie pomagają jak na razie. Raz, że zależne od platformy, a dwa to jeszcze nie wiem jak to zrobić w Lazarusie (tutaj będzie inaczej niż w Delphi).

 

Główny problem spróbuje rozwiązać inaczej generując wierzchołki, ale dalej zależy mi na jakimś uniwersalnym rozwiązaniu, które pozwoliłoby mi np zrobić dowolny przekrój.

 

UPDATE:

Pytanie do OpenGLowego wyjadacza. Jak zrobić półprzeźroczystość tak, żeby widzieć inne przysłonięte półprzeźroczyste obiekty?

Kiedy mam taką linijkę

glEnable (GL_DEPTH_TEST);

wtedy nie widać, a kiedy to usunę to widać, ale wszystko się miesza, tzn to co ma być z przodu to jest przysłonięte itp.

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...