'da birden fazla dokuyu harmanlamak Bu uzun ama söz veriyorum. :)GLSL
jMonkeyEngine kullanarak başka bir uygulamanın tekstüre görünümünü taklit etmeye çalışıyorum. Ben bir köşeler listesi ve yüzler (üçgenler) bir "peyzaj ağı" oluşturan yaklaşık 7-15 farklı doku ile dokulu olmalıdır ("peyzaj" arazisine bağlı olarak). Her üçgenin, ilgili üçgenden hangisinin büyük ölçüde oluşması gerektiğini gösteren bir doku kodu vardır. Ve elbette, dokular her yüz arasında düzgün bir şekilde karıştırılmalıdır.
Bu yüzden buna izin veren bir strateji geliştirmeye çalışıyorum (önceden oluşturulmuş alfa map png dosyalarını KULLANMAYIN, doku alfalarının çalışma zamanında yapılması gerekir). Şu anda, her bir komşunun her bir köşesinde (köşe gölgelendiricisinde) her bir yaprağın "mukavemetini" hesaplarsam, tüm komşu yüzlerin arazi tiplerini hesaba katıp (bunu nasıl yapacağınızdan emin değilim) - Bir pikselin bir tepe noktasından ne kadar uzak olduğuna bağlı olarak alfa değerlerini ayarlamak için kullanılır. Oluşturulan "alfa haritası", parça gölgelendirici tarafından piksel başına her dokuyu harmanlamak için kullanılacaktır.
Bu mümkün mü, yoksa tamamen farklı bir stratejiye bakmalı mıyım? Ben taklit çalışıyorum uygulama için Shader kod var (ama HLSL ve ben GLSL kullanıyorum), ancak başka bir yerde bu harmanlama adımı yapıyoruz gibi görünüyor: Ben
sampler MeshTextureSampler = sampler_state { Texture = diffuse_texture; AddressU = WRAP; AddressV = WRAP; MinFilter = LINEAR; MagFilter = LINEAR; };
Bu HLSL "MeshTextureSampler" ın ne olduğundan emin değil, ancak bu uygulama tüm dokular gerektiği gibi önceden harmanlanmış gibi görünebilir ve yüz/arazi kodu verilerine dayanarak tüm ağ için tek bir doku oluşturdu. Hiç bildiğim kadarıyla söyleyebilirim doku harmanlanmış hiçbir tür hangi beni götürür -
etc sadece gölgeler, aydınlatma, olduğunufloat4 tex_col = tex2D(MeshTextureSampler, In.Tex0);
sonra: pixel/parça gölgelendirici onlar gerçekten ne yorgunluğu şudur Bu doku karıştırma işleminin önceden CPU üzerinde yapıldığına inanmak gerekirse, sanırım. Herhangi bir öneri hoşgeldiniz. Ben doğru anlamak
+1. –