2012-04-11 3 views
4

Ich möchte ein sehr dünnes Objekt zeichnen und es verschwindet wegen Aliasing. Verständlich natürlich. Aber ich würde gerne feststellen, dass dieses Objekt auf meinem Bildschirm ist. Für mindestens 1 Pixel breit.Zeichnen Sie Objekte mit einem Minimum von einem Pixel Breite

Das dünne Objekt ist keine einfache OpenGL-Linie, es ist ein echtes 3D-Objekt. Gibt es eine Möglichkeit, dieses Objekt auf den Bildschirm zu projizieren oder etwas, um es unabhängig von Alias-Problemen immer sichtbar zu machen? (Siehe Bild)

Ich verwende Unity3D, habe aber auch Zugriff auf einfache OpenGL-Funktionen.

up: what I have, down: what I want

+2

Vielleicht sollten Sie die projizierte Begrenzungsbox Ihres Objekts berechnen, bevor Sie es rendern, und wenn es kleiner als ein gegebener Wert ist, rendern Sie stattdessen ein einfaches Quadrat in Pixelgröße. –

+0

Alternativ berechnen Sie die Bildschirmplatzposition des Objektzentrums und rendern Sie einen großen roten Pfeil als Overlay :-). – Robinson

+0

Suchen Sie nach einer generischen Lösung, die alle Arten von Objekten für mindestens ein Pixel sichtbar macht, oder genauer gesagt, dass dieses bestimmte Objekt (das immer parallel zum Boden ist) sichtbar ist? Wie auch immer, du könntest einfach über die Linie manuell zeichnen (oder ein Quadrat oder was auch immer, wie Nicolas vorgeschlagen hat), oder dein Objekt vielleicht erst texturieren und einen Filter darauf ausführen lassen? (die die fehlenden Pixel finden und sie ausfüllen würde.) – Cray

Antwort

3

Warum nicht eine Linie zeichnen und dann das Objekt auf ziehen?

+0

Scheint wie eine gute Idee. Ich werde es versuchen. Ich hasse triviale Antworten. – Marnix