Java3D ile Grafik Programlama 4

Oğuz~#>

Kıdemli Üye
5 Tem 2009
4,772
16
Bursa
Not: Bu yazıyı baya uzun bir süre önce(1 sene önce) java.sun.com sitesindeki bir bu tutoriallı açıklamaya çalıştım. Java3D o günden bugüne baya yenilikler gerçekleşti. Ama dökümanın genel anlamını kaybetmedigi düşünerek yayınlıyorum. Tabiki çevirideki eksikliklerden ve anlam bozukluklarından dolayı affola

Bu tutorial ilk aşamada yapıları (viewing, content nasıl oluşturulduğu, bunların scenegraph( ) nasıl eklendiği konusunda başlangıç yapsınlar diye hazırlanmış.
Kod:
import java.applet.Applet; import java.awt.BorderLayout; import java.awt.Frame; import java.awt.event.*; import com.sun.j3d.utils.applet.MainFrame; import com.sun.j3d.utils.universe.*; import com.sun.j3d.utils.geometry.ColorCube; import javax.media.j3d.*; import javax.vecmath.*;  public class HelloJava3Da extends Applet {  public HelloJava3Da() { setLayout(new BorderLayout()); //Renderleme yapacagimiz yapacagimiz ekran OpenGL' deki RC(Render Context)  	alanı gibi düşünün,  //Borderlayout' un ortasına oluşturduğumuz Canvas3D nesnesini ekledik. Canvas3D canvas3D = new Canvas3D(null);  add("Center", canvas3D);   BranchGroup scene = createSceneGraph(); scene.compile();  // SimpleUniverse javax.utility paketinde bulunan Convenience Utility  	classlardan biri  // Sizin camera işlemlerinden kurtarıyor ama bu şekilde  //kameranızın statik olduğunu unumayın. Ama başlangıç için ideal SimpleUniverse simpleU = new SimpleUniverse(canvas3D);  //objelerinizin görülebilmesi için aşağıdaki işlem //ViewingPlatformunuzu 2.41 metre geriye çekiyor. simpleU.getViewingPlatform().setNominalViewingTransform();  simpleU.addBranchGraph(scene); }   public BranchGroup createSceneGraph() { // branchgraph tipinde bir kök nesnesi oluşturulur. BranchGroup objRoot = new BranchGroup();  // Basit bir shape leaf node oluşturulur. // Bu leaf root branch eklenir // ColorCube javax.utility paketinde bulunan Convenience Utility  	classlardan biri objRoot.addChild(new ColorCube(0.4)); return objRoot; }   public static **** main(String[] args) { //MainFrame(java.applet.Applet applet, int width, int height) //Mainframe metodu bir application' un applet olarak çalışmasını  	olanaklı kılar Frame frame = new MainFrame(new HelloJava3Da(), 256, 256); } }

java3d_vu.gif


hellojava3d.gif


 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.