Reklam
| Dosya | Görevi |
|---|---|
| N3RenderTypes.h | d3d9.h yerine geçen tip ve sabitler |
| N3RenderDevice.* | Cihaz, durum takibi, çizim çağrıları, pencere başına swap chain |
| N3RenderFFP.* | Sabit fonksiyon boru hattının HLSL ile taklidi |
| N3RenderResource.* | Doku / yüzey / köşe / indeks tamponu sarmalayıcıları |
| N3RenderImage.* | BC1-BC3 codec'i, yüzey dönüşümü, DDS/TGA çözücü, WIC |
| N3RenderMath.* | D3DX matematiği yerine DirectXMath |
Not: Bu güvenceler editörün kendi okuma/yazma yollarının tutarlı kaldığını gösterir. İstemcinin bu dosyaları nasıl okuduğunu karşılaştırmalı olarak doğrulamak için istemci kaynakları gerekiyor - özellikle N3Shape, N3PMesh, N3Texture, N3Terrain/N3ShapeMgr yükleme kodları ve .gtd okuyucusu.
| Giriş | İşlev |
|---|---|
| Sağ tuş basılı + fare | Bakış yönü |
| W / A / S / D | İleri, sola, geri, sağa |
| Q / E | Alçal / yüksel |
| Shift | 4 kat hızlı |
| Ctrl | 4 kat hassas |
| Fare tekerleği | Taban hızını ayarla |
saolasnDürüst olmak gerekirse şuanda tam stabilite yok. ancak konu sürekli güncellenecek.
V.1.0.1
Render katmanı - MapEditor/N3BASE/DX11/
Motorun ~1700 çizim çağrısı sabit fonksiyon boru hattına (fixed function pipeline) dayanıyordu. Direct3D 11'de böyle bir boru hattı yok; her çizim shader gerektiriyor. Bu yüzden çağrı yerlerini tek tek dönüştürmek yerine, aynı arayüzü sunan ama içeride D3D11 çalıştıran bir katman yazıldı.
Öne çıkan çözümler:
Dosya Görevi N3RenderTypes.h d3d9.h yerine geçen tip ve sabitler N3RenderDevice.* Cihaz, durum takibi, çizim çağrıları, pencere başına swap chain N3RenderFFP.* Sabit fonksiyon boru hattının HLSL ile taklidi N3RenderResource.* Doku / yüzey / köşe / indeks tamponu sarmalayıcıları N3RenderImage.* BC1-BC3 codec'i, yüzey dönüşümü, DDS/TGA çözücü, WIC N3RenderMath.* D3DX matematiği yerine DirectXMath
- Shader üretimi. Doku birleştiricileri, köşe aydınlatması, sis ve alfa testinden oluşan durum kümesi bir anahtara indirgeniyor; her benzersiz anahtar için eşdeğer davranışta HLSL üretilip derleniyor ve önbelleğe alınıyor. Aynı kombinasyon ikinci kez derlenmiyor.
- Çoklu pencere. Editör tek cihazla birden çok MFC penceresine çiziyor. Çizim paylaşılan bir ara hedefe yapılıyor, Present istenen bölgeyi ilgili pencerenin swap chain'ine aktarıyor - eski D3D9 davranışının birebir karşılığı.
- CPU erişimi. Editör doku ve tampon içeriklerini sıkça okuyup yazıyor (ışık haritası, arazi renk haritası...). D3D11'de bir kaynak hem GPU'da hem CPU'da serbestçe erişilebilir olmadığından her kaynak sistem belleğinde gölge kopya tutuyor; kilit açıldığında değişiklik GPU'ya yükleniyor. Eski D3DPOOL_MANAGED davranışının karşılığı.
- Üçgen yelpazesi D3D11'de yok; indeks listesine çevriliyor. Dikdörtgen alan temizleme de yok; küçük bir dörtgen çizimiyle yapılıyor.
Dosya biçimi uyumluluğu
Editörün ürettiği haritaların oyun istemcisinde açılabilmesi için ikili biçimlerin bit düzeyinde aynı kalması gerekiyor. İki önlem alındı:
Doğrulanan boyutlar: __Vector3 12, __Matrix44 64, __Quaternion 16, __Material 92, __VertexT1 32, __VertexT2 40, __CameraData 364, N3MATERIAL 68, N3LIGHT 104, N3VIEWPORT 24 bayt.
- Sayısal değerler korundu. N3FMT_DXT1, N3TOP_MODULATE, N3BLEND_SRCALPHA gibi tokenlar eski Direct3D değerlerini birebir sürdürüyor; çünkü bunlar .n3tex başlığında ve malzeme kayıtlarında diske yazılıyor.
- Boyutlar derleme zamanında doğrulanıyor. N3RenderTypes.h ve My_3DStruct.h sonundaki static_assert blokları, dosyalara yazılan yapıların (__Vector3, __Matrix44, __Material, __VertexT1, __CameraData, N3LIGHT ...) boyutlarını sabitliyor. İleride bir alan eklenirse hata, dosya bozulmadan önce derlemede çıkıyor.
Kullanım
Serbest gezinme (F4)
Varsayılan kamera bir hedef noktanın etrafında dönen yörünge kamerasıdır; haritaya ancak dışarıdan bakılır. Görünüm > Serbest Gezinme (F4) ile harita içinde dolaşılır:
Kip açıkken W/A/S/D kısayolları (imleç kipleri) devre dışı kalır; Ctrl'lü kısayollar etkilenmez.
Giriş İşlev Sağ tuş basılı + fare Bakış yönü W / A / S / D İleri, sola, geri, sağa Q / E Alçal / yüksel Shift 4 kat hızlı Ctrl 4 kat hassas Fare tekerleği Taban hızını ayarla
Nesne araçları
- Ctrl+D - Seçili nesneleri çoğaltır. Kopya aynı konumda oluşur ve hemen seçilir, böylece taşıma aracıyla (W) doğrudan yeni yerine sürüklenebilir. Parça bazlı malzeme ve doku atamaları da kopyalanır.
- Düzen > Seçili Nesnenin Dokusunu Değiştir - Nesnenin her doku yuvası için sırayla dosya seçme penceresi açar. Seçilen dosya kaynak klasörünün altında olmalıdır; aksi halde harita istemcide açılmaz.
Blender modeli içe aktarma
Dosya > Model İçe Aktar (OBJ / glTF) ile Blender'dan verilmiş modeller doğrudan N3 nesnesine çevrilir.
Desteklenen biçimler:
Üretilen dosyalar kaynak klasörünün Object\ altına yazılır: her malzeme grubu için bir .n3pmesh, dokular alfa durumuna göre DXT1/DXT3 sıkıştırmayla .dxt, nesnenin kendisi .n3shape, ayrıca çarpışma meshi. Nesne kaynak listesine eklendiği için nesne fırçasıyla (T) doğrudan haritaya konabilir.
- Wavefront OBJ + MTL - Durağan nesneler için en güvenilir yol. Çokgen yüzler, negatif dizinler ve map_Kd dokuları okunur.
- glTF 2.0 (.gltf ayrı .bin ya da gömülü base64 ile, ve .glb) - Düğüm hiyerarşisi ve dönüşümleri, POSITION/NORMAL/TEXCOORD_0, taban renk ve taban renk dokusu okunur.
Blender'da dışa aktarırken:
Koordinat sistemi dönüşümü otomatiktir: Blender sağ el / Z yukarı, N3 (Direct3D) sol el / Y yukarı çalışır. Eksen takası el sistemini de çevirdiğinden üçgenlerin sarım yönüne dokunulmaz. UV'de OBJ alttan, glTF üstten başladığı için V ekseni yalnız OBJ'de ters çevrilir.
- glTF için "Format: glTF Separate" ya da "glTF Embedded" seçin ve dokuların dosya olarak kopyalanmasını işaretleyin. Gömülü (data: URI ya da bufferView) görüntüler okunmaz.
- Modeli üçgenleştirmeniz gerekmez; içe aktarıcı çokgenleri üçgenler.
- Ölçek 1.0 kabul edilir. İçe aktarma sonunda nesnenin ölçüleri bildirilir; beklediğinizden farklıysa yerleştirdikten sonra ölçekleme aracıyla (R) düzeltin.
Kaldırılan eski bileşenler
uyarı!
- d3d8.h / d3d9.h / d3dx9.h / ddraw.h / dxerr8.h başlıkları, d3d9.lib / d3dx9.lib / dxerr.lib kitaplıkları ve DirectX SDK yolu
- DirectX 8 çağrı biçimleri: GetVertexShader ile FVF okuma, SetClipStatus
- Visual C++ 6.0 ve Visual SourceSafe kalıntıları (.dsp, .dsw, .plg, .opt, .scc, .APS)
- Kaynak dosyasında yinelenen dil bloğu (aynı menüler hem Korece hem İngilizce blokta tanımlıydı; hangisinin yükleneceği iş parçacığının yerel ayarına kalıyordu)
tools dosyasındaki .py dosyalarıyla .dxt lerin görüntü kalitesini iyileştirebilirsiniz.
1. Ne var, ona bakalım:
cd /d "DOSYA ADRESİ (tools dosyası)"
python tools\doku_tara.py "MapEditor\N3ME\x64\Debug"
2. Ne olacağını görelim (hiçbir şey yazılmaz):
python tools\doku_hd.py "MapEditor\N3ME\x64\Debug" --kuru ( neyi dönüştürebileceğine bakar)
3. Yerinde dönüştür — istediğiniz komut bu:
python tools\doku_hd.py "MapEditor\N3ME\x64\Debug" --yerinde dönüştürür.
boş zamanımda yaptım waowluk bir durum yok.
gördüğüme göre eski sürümü derleyemen arkadaşlar vardı .
teşekkürleri anthropic e yaparsınız.
iyi kullanmalar.
*** Gizli metin: alıntı yapılamaz. ***
rar şifresi : ilovekoyardim
Ekli dosyayı görüntüle 20158
teşekkürler sanki biri paylasmisti ondan farklimiDürüst olmak gerekirse şuanda tam stabilite yok. ancak konu sürekli güncellenecek.
V.1.0.1
Render katmanı - MapEditor/N3BASE/DX11/
Motorun ~1700 çizim çağrısı sabit fonksiyon boru hattına (fixed function pipeline) dayanıyordu. Direct3D 11'de böyle bir boru hattı yok; her çizim shader gerektiriyor. Bu yüzden çağrı yerlerini tek tek dönüştürmek yerine, aynı arayüzü sunan ama içeride D3D11 çalıştıran bir katman yazıldı.
Öne çıkan çözümler:
Dosya Görevi N3RenderTypes.h d3d9.h yerine geçen tip ve sabitler N3RenderDevice.* Cihaz, durum takibi, çizim çağrıları, pencere başına swap chain N3RenderFFP.* Sabit fonksiyon boru hattının HLSL ile taklidi N3RenderResource.* Doku / yüzey / köşe / indeks tamponu sarmalayıcıları N3RenderImage.* BC1-BC3 codec'i, yüzey dönüşümü, DDS/TGA çözücü, WIC N3RenderMath.* D3DX matematiği yerine DirectXMath
- Shader üretimi. Doku birleştiricileri, köşe aydınlatması, sis ve alfa testinden oluşan durum kümesi bir anahtara indirgeniyor; her benzersiz anahtar için eşdeğer davranışta HLSL üretilip derleniyor ve önbelleğe alınıyor. Aynı kombinasyon ikinci kez derlenmiyor.
- Çoklu pencere. Editör tek cihazla birden çok MFC penceresine çiziyor. Çizim paylaşılan bir ara hedefe yapılıyor, Present istenen bölgeyi ilgili pencerenin swap chain'ine aktarıyor - eski D3D9 davranışının birebir karşılığı.
- CPU erişimi. Editör doku ve tampon içeriklerini sıkça okuyup yazıyor (ışık haritası, arazi renk haritası...). D3D11'de bir kaynak hem GPU'da hem CPU'da serbestçe erişilebilir olmadığından her kaynak sistem belleğinde gölge kopya tutuyor; kilit açıldığında değişiklik GPU'ya yükleniyor. Eski D3DPOOL_MANAGED davranışının karşılığı.
- Üçgen yelpazesi D3D11'de yok; indeks listesine çevriliyor. Dikdörtgen alan temizleme de yok; küçük bir dörtgen çizimiyle yapılıyor.
Dosya biçimi uyumluluğu
Editörün ürettiği haritaların oyun istemcisinde açılabilmesi için ikili biçimlerin bit düzeyinde aynı kalması gerekiyor. İki önlem alındı:
Doğrulanan boyutlar: __Vector3 12, __Matrix44 64, __Quaternion 16, __Material 92, __VertexT1 32, __VertexT2 40, __CameraData 364, N3MATERIAL 68, N3LIGHT 104, N3VIEWPORT 24 bayt.
- Sayısal değerler korundu. N3FMT_DXT1, N3TOP_MODULATE, N3BLEND_SRCALPHA gibi tokenlar eski Direct3D değerlerini birebir sürdürüyor; çünkü bunlar .n3tex başlığında ve malzeme kayıtlarında diske yazılıyor.
- Boyutlar derleme zamanında doğrulanıyor. N3RenderTypes.h ve My_3DStruct.h sonundaki static_assert blokları, dosyalara yazılan yapıların (__Vector3, __Matrix44, __Material, __VertexT1, __CameraData, N3LIGHT ...) boyutlarını sabitliyor. İleride bir alan eklenirse hata, dosya bozulmadan önce derlemede çıkıyor.
Kullanım
Serbest gezinme (F4)
Varsayılan kamera bir hedef noktanın etrafında dönen yörünge kamerasıdır; haritaya ancak dışarıdan bakılır. Görünüm > Serbest Gezinme (F4) ile harita içinde dolaşılır:
Kip açıkken W/A/S/D kısayolları (imleç kipleri) devre dışı kalır; Ctrl'lü kısayollar etkilenmez.
Giriş İşlev Sağ tuş basılı + fare Bakış yönü W / A / S / D İleri, sola, geri, sağa Q / E Alçal / yüksel Shift 4 kat hızlı Ctrl 4 kat hassas Fare tekerleği Taban hızını ayarla
Nesne araçları
- Ctrl+D - Seçili nesneleri çoğaltır. Kopya aynı konumda oluşur ve hemen seçilir, böylece taşıma aracıyla (W) doğrudan yeni yerine sürüklenebilir. Parça bazlı malzeme ve doku atamaları da kopyalanır.
- Düzen > Seçili Nesnenin Dokusunu Değiştir - Nesnenin her doku yuvası için sırayla dosya seçme penceresi açar. Seçilen dosya kaynak klasörünün altında olmalıdır; aksi halde harita istemcide açılmaz.
Blender modeli içe aktarma
Dosya > Model İçe Aktar (OBJ / glTF) ile Blender'dan verilmiş modeller doğrudan N3 nesnesine çevrilir.
Desteklenen biçimler:
Üretilen dosyalar kaynak klasörünün Object\ altına yazılır: her malzeme grubu için bir .n3pmesh, dokular alfa durumuna göre DXT1/DXT3 sıkıştırmayla .dxt, nesnenin kendisi .n3shape, ayrıca çarpışma meshi. Nesne kaynak listesine eklendiği için nesne fırçasıyla (T) doğrudan haritaya konabilir.
- Wavefront OBJ + MTL - Durağan nesneler için en güvenilir yol. Çokgen yüzler, negatif dizinler ve map_Kd dokuları okunur.
- glTF 2.0 (.gltf ayrı .bin ya da gömülü base64 ile, ve .glb) - Düğüm hiyerarşisi ve dönüşümleri, POSITION/NORMAL/TEXCOORD_0, taban renk ve taban renk dokusu okunur.
Blender'da dışa aktarırken:
Koordinat sistemi dönüşümü otomatiktir: Blender sağ el / Z yukarı, N3 (Direct3D) sol el / Y yukarı çalışır. Eksen takası el sistemini de çevirdiğinden üçgenlerin sarım yönüne dokunulmaz. UV'de OBJ alttan, glTF üstten başladığı için V ekseni yalnız OBJ'de ters çevrilir.
- glTF için "Format: glTF Separate" ya da "glTF Embedded" seçin ve dokuların dosya olarak kopyalanmasını işaretleyin. Gömülü (data: URI ya da bufferView) görüntüler okunmaz.
- Modeli üçgenleştirmeniz gerekmez; içe aktarıcı çokgenleri üçgenler.
- Ölçek 1.0 kabul edilir. İçe aktarma sonunda nesnenin ölçüleri bildirilir; beklediğinizden farklıysa yerleştirdikten sonra ölçekleme aracıyla (R) düzeltin.
Kaldırılan eski bileşenler
uyarı!
- d3d8.h / d3d9.h / d3dx9.h / ddraw.h / dxerr8.h başlıkları, d3d9.lib / d3dx9.lib / dxerr.lib kitaplıkları ve DirectX SDK yolu
- DirectX 8 çağrı biçimleri: GetVertexShader ile FVF okuma, SetClipStatus
- Visual C++ 6.0 ve Visual SourceSafe kalıntıları (.dsp, .dsw, .plg, .opt, .scc, .APS)
- Kaynak dosyasında yinelenen dil bloğu (aynı menüler hem Korece hem İngilizce blokta tanımlıydı; hangisinin yükleneceği iş parçacığının yerel ayarına kalıyordu)
tools dosyasındaki .py dosyalarıyla .dxt lerin görüntü kalitesini iyileştirebilirsiniz.
1. Ne var, ona bakalım:
cd /d "DOSYA ADRESİ (tools dosyası)"
python tools\doku_tara.py "MapEditor\N3ME\x64\Debug"
2. Ne olacağını görelim (hiçbir şey yazılmaz):
python tools\doku_hd.py "MapEditor\N3ME\x64\Debug" --kuru ( neyi dönüştürebileceğine bakar)
3. Yerinde dönüştür — istediğiniz komut bu:
python tools\doku_hd.py "MapEditor\N3ME\x64\Debug" --yerinde dönüştürür.
boş zamanımda yaptım waowluk bir durum yok.
gördüğüme göre eski sürümü derleyemen arkadaşlar vardı .
teşekkürleri anthropic e yaparsınız.
iyi kullanmalar.
*** Gizli metin: alıntı yapılamaz. ***
rar şifresi : ilovekoyardim
Ekli dosyayı görüntüle 20158
eywDürüst olmak gerekirse şuanda tam stabilite yok. ancak konu sürekli güncellenecek.
V.1.0.1
Render katmanı - MapEditor/N3BASE/DX11/
Motorun ~1700 çizim çağrısı sabit fonksiyon boru hattına (fixed function pipeline) dayanıyordu. Direct3D 11'de böyle bir boru hattı yok; her çizim shader gerektiriyor. Bu yüzden çağrı yerlerini tek tek dönüştürmek yerine, aynı arayüzü sunan ama içeride D3D11 çalıştıran bir katman yazıldı.
Öne çıkan çözümler:
Dosya Görevi N3RenderTypes.h d3d9.h yerine geçen tip ve sabitler N3RenderDevice.* Cihaz, durum takibi, çizim çağrıları, pencere başına swap chain N3RenderFFP.* Sabit fonksiyon boru hattının HLSL ile taklidi N3RenderResource.* Doku / yüzey / köşe / indeks tamponu sarmalayıcıları N3RenderImage.* BC1-BC3 codec'i, yüzey dönüşümü, DDS/TGA çözücü, WIC N3RenderMath.* D3DX matematiği yerine DirectXMath
- Shader üretimi. Doku birleştiricileri, köşe aydınlatması, sis ve alfa testinden oluşan durum kümesi bir anahtara indirgeniyor; her benzersiz anahtar için eşdeğer davranışta HLSL üretilip derleniyor ve önbelleğe alınıyor. Aynı kombinasyon ikinci kez derlenmiyor.
- Çoklu pencere. Editör tek cihazla birden çok MFC penceresine çiziyor. Çizim paylaşılan bir ara hedefe yapılıyor, Present istenen bölgeyi ilgili pencerenin swap chain'ine aktarıyor - eski D3D9 davranışının birebir karşılığı.
- CPU erişimi. Editör doku ve tampon içeriklerini sıkça okuyup yazıyor (ışık haritası, arazi renk haritası...). D3D11'de bir kaynak hem GPU'da hem CPU'da serbestçe erişilebilir olmadığından her kaynak sistem belleğinde gölge kopya tutuyor; kilit açıldığında değişiklik GPU'ya yükleniyor. Eski D3DPOOL_MANAGED davranışının karşılığı.
- Üçgen yelpazesi D3D11'de yok; indeks listesine çevriliyor. Dikdörtgen alan temizleme de yok; küçük bir dörtgen çizimiyle yapılıyor.
Dosya biçimi uyumluluğu
Editörün ürettiği haritaların oyun istemcisinde açılabilmesi için ikili biçimlerin bit düzeyinde aynı kalması gerekiyor. İki önlem alındı:
Doğrulanan boyutlar: __Vector3 12, __Matrix44 64, __Quaternion 16, __Material 92, __VertexT1 32, __VertexT2 40, __CameraData 364, N3MATERIAL 68, N3LIGHT 104, N3VIEWPORT 24 bayt.
- Sayısal değerler korundu. N3FMT_DXT1, N3TOP_MODULATE, N3BLEND_SRCALPHA gibi tokenlar eski Direct3D değerlerini birebir sürdürüyor; çünkü bunlar .n3tex başlığında ve malzeme kayıtlarında diske yazılıyor.
- Boyutlar derleme zamanında doğrulanıyor. N3RenderTypes.h ve My_3DStruct.h sonundaki static_assert blokları, dosyalara yazılan yapıların (__Vector3, __Matrix44, __Material, __VertexT1, __CameraData, N3LIGHT ...) boyutlarını sabitliyor. İleride bir alan eklenirse hata, dosya bozulmadan önce derlemede çıkıyor.
Kullanım
Serbest gezinme (F4)
Varsayılan kamera bir hedef noktanın etrafında dönen yörünge kamerasıdır; haritaya ancak dışarıdan bakılır. Görünüm > Serbest Gezinme (F4) ile harita içinde dolaşılır:
Kip açıkken W/A/S/D kısayolları (imleç kipleri) devre dışı kalır; Ctrl'lü kısayollar etkilenmez.
Giriş İşlev Sağ tuş basılı + fare Bakış yönü W / A / S / D İleri, sola, geri, sağa Q / E Alçal / yüksel Shift 4 kat hızlı Ctrl 4 kat hassas Fare tekerleği Taban hızını ayarla
Nesne araçları
- Ctrl+D - Seçili nesneleri çoğaltır. Kopya aynı konumda oluşur ve hemen seçilir, böylece taşıma aracıyla (W) doğrudan yeni yerine sürüklenebilir. Parça bazlı malzeme ve doku atamaları da kopyalanır.
- Düzen > Seçili Nesnenin Dokusunu Değiştir - Nesnenin her doku yuvası için sırayla dosya seçme penceresi açar. Seçilen dosya kaynak klasörünün altında olmalıdır; aksi halde harita istemcide açılmaz.
Blender modeli içe aktarma
Dosya > Model İçe Aktar (OBJ / glTF) ile Blender'dan verilmiş modeller doğrudan N3 nesnesine çevrilir.
Desteklenen biçimler:
Üretilen dosyalar kaynak klasörünün Object\ altına yazılır: her malzeme grubu için bir .n3pmesh, dokular alfa durumuna göre DXT1/DXT3 sıkıştırmayla .dxt, nesnenin kendisi .n3shape, ayrıca çarpışma meshi. Nesne kaynak listesine eklendiği için nesne fırçasıyla (T) doğrudan haritaya konabilir.
- Wavefront OBJ + MTL - Durağan nesneler için en güvenilir yol. Çokgen yüzler, negatif dizinler ve map_Kd dokuları okunur.
- glTF 2.0 (.gltf ayrı .bin ya da gömülü base64 ile, ve .glb) - Düğüm hiyerarşisi ve dönüşümleri, POSITION/NORMAL/TEXCOORD_0, taban renk ve taban renk dokusu okunur.
Blender'da dışa aktarırken:
Koordinat sistemi dönüşümü otomatiktir: Blender sağ el / Z yukarı, N3 (Direct3D) sol el / Y yukarı çalışır. Eksen takası el sistemini de çevirdiğinden üçgenlerin sarım yönüne dokunulmaz. UV'de OBJ alttan, glTF üstten başladığı için V ekseni yalnız OBJ'de ters çevrilir.
- glTF için "Format: glTF Separate" ya da "glTF Embedded" seçin ve dokuların dosya olarak kopyalanmasını işaretleyin. Gömülü (data: URI ya da bufferView) görüntüler okunmaz.
- Modeli üçgenleştirmeniz gerekmez; içe aktarıcı çokgenleri üçgenler.
- Ölçek 1.0 kabul edilir. İçe aktarma sonunda nesnenin ölçüleri bildirilir; beklediğinizden farklıysa yerleştirdikten sonra ölçekleme aracıyla (R) düzeltin.
Kaldırılan eski bileşenler
uyarı!
- d3d8.h / d3d9.h / d3dx9.h / ddraw.h / dxerr8.h başlıkları, d3d9.lib / d3dx9.lib / dxerr.lib kitaplıkları ve DirectX SDK yolu
- DirectX 8 çağrı biçimleri: GetVertexShader ile FVF okuma, SetClipStatus
- Visual C++ 6.0 ve Visual SourceSafe kalıntıları (.dsp, .dsw, .plg, .opt, .scc, .APS)
- Kaynak dosyasında yinelenen dil bloğu (aynı menüler hem Korece hem İngilizce blokta tanımlıydı; hangisinin yükleneceği iş parçacığının yerel ayarına kalıyordu)
tools dosyasındaki .py dosyalarıyla .dxt lerin görüntü kalitesini iyileştirebilirsiniz.
1. Ne var, ona bakalım:
cd /d "DOSYA ADRESİ (tools dosyası)"
python tools\doku_tara.py "MapEditor\N3ME\x64\Debug"
2. Ne olacağını görelim (hiçbir şey yazılmaz):
python tools\doku_hd.py "MapEditor\N3ME\x64\Debug" --kuru ( neyi dönüştürebileceğine bakar)
3. Yerinde dönüştür — istediğiniz komut bu:
python tools\doku_hd.py "MapEditor\N3ME\x64\Debug" --yerinde dönüştürür.
boş zamanımda yaptım waowluk bir durum yok.
gördüğüme göre eski sürümü derleyemen arkadaşlar vardı .
teşekkürleri anthropic e yaparsınız.
iyi kullanmalar.
*** Gizli metin: alıntı yapılamaz. ***
rar şifresi : ilovekoyardim
Ekli dosyayı görüntüle 20158
hocam konuyu tam oku istersen.n3m eski versiyon, Bu işe yaramaz, çöp.
birde zemin değiştirme ve boyama eklersen daha güzel olur eline sağlık dostum
Dürüst olmak gerekirse şuanda tam stabilite yok. ancak konu sürekli güncellenecek.
V.1.0.1
Render katmanı - MapEditor/N3BASE/DX11/
Motorun ~1700 çizim çağrısı sabit fonksiyon boru hattına (fixed function pipeline) dayanıyordu. Direct3D 11'de böyle bir boru hattı yok; her çizim shader gerektiriyor. Bu yüzden çağrı yerlerini tek tek dönüştürmek yerine, aynı arayüzü sunan ama içeride D3D11 çalıştıran bir katman yazıldı.
Öne çıkan çözümler:
Dosya Görevi N3RenderTypes.h d3d9.h yerine geçen tip ve sabitler N3RenderDevice.* Cihaz, durum takibi, çizim çağrıları, pencere başına swap chain N3RenderFFP.* Sabit fonksiyon boru hattının HLSL ile taklidi N3RenderResource.* Doku / yüzey / köşe / indeks tamponu sarmalayıcıları N3RenderImage.* BC1-BC3 codec'i, yüzey dönüşümü, DDS/TGA çözücü, WIC N3RenderMath.* D3DX matematiği yerine DirectXMath
- Shader üretimi. Doku birleştiricileri, köşe aydınlatması, sis ve alfa testinden oluşan durum kümesi bir anahtara indirgeniyor; her benzersiz anahtar için eşdeğer davranışta HLSL üretilip derleniyor ve önbelleğe alınıyor. Aynı kombinasyon ikinci kez derlenmiyor.
- Çoklu pencere. Editör tek cihazla birden çok MFC penceresine çiziyor. Çizim paylaşılan bir ara hedefe yapılıyor, Present istenen bölgeyi ilgili pencerenin swap chain'ine aktarıyor - eski D3D9 davranışının birebir karşılığı.
- CPU erişimi. Editör doku ve tampon içeriklerini sıkça okuyup yazıyor (ışık haritası, arazi renk haritası...). D3D11'de bir kaynak hem GPU'da hem CPU'da serbestçe erişilebilir olmadığından her kaynak sistem belleğinde gölge kopya tutuyor; kilit açıldığında değişiklik GPU'ya yükleniyor. Eski D3DPOOL_MANAGED davranışının karşılığı.
- Üçgen yelpazesi D3D11'de yok; indeks listesine çevriliyor. Dikdörtgen alan temizleme de yok; küçük bir dörtgen çizimiyle yapılıyor.
Dosya biçimi uyumluluğu
Editörün ürettiği haritaların oyun istemcisinde açılabilmesi için ikili biçimlerin bit düzeyinde aynı kalması gerekiyor. İki önlem alındı:
Doğrulanan boyutlar: __Vector3 12, __Matrix44 64, __Quaternion 16, __Material 92, __VertexT1 32, __VertexT2 40, __CameraData 364, N3MATERIAL 68, N3LIGHT 104, N3VIEWPORT 24 bayt.
- Sayısal değerler korundu. N3FMT_DXT1, N3TOP_MODULATE, N3BLEND_SRCALPHA gibi tokenlar eski Direct3D değerlerini birebir sürdürüyor; çünkü bunlar .n3tex başlığında ve malzeme kayıtlarında diske yazılıyor.
- Boyutlar derleme zamanında doğrulanıyor. N3RenderTypes.h ve My_3DStruct.h sonundaki static_assert blokları, dosyalara yazılan yapıların (__Vector3, __Matrix44, __Material, __VertexT1, __CameraData, N3LIGHT ...) boyutlarını sabitliyor. İleride bir alan eklenirse hata, dosya bozulmadan önce derlemede çıkıyor.
Kullanım
Serbest gezinme (F4)
Varsayılan kamera bir hedef noktanın etrafında dönen yörünge kamerasıdır; haritaya ancak dışarıdan bakılır. Görünüm > Serbest Gezinme (F4) ile harita içinde dolaşılır:
Kip açıkken W/A/S/D kısayolları (imleç kipleri) devre dışı kalır; Ctrl'lü kısayollar etkilenmez.
Giriş İşlev Sağ tuş basılı + fare Bakış yönü W / A / S / D İleri, sola, geri, sağa Q / E Alçal / yüksel Shift 4 kat hızlı Ctrl 4 kat hassas Fare tekerleği Taban hızını ayarla
Nesne araçları
- Ctrl+D - Seçili nesneleri çoğaltır. Kopya aynı konumda oluşur ve hemen seçilir, böylece taşıma aracıyla (W) doğrudan yeni yerine sürüklenebilir. Parça bazlı malzeme ve doku atamaları da kopyalanır.
- Düzen > Seçili Nesnenin Dokusunu Değiştir - Nesnenin her doku yuvası için sırayla dosya seçme penceresi açar. Seçilen dosya kaynak klasörünün altında olmalıdır; aksi halde harita istemcide açılmaz.
Blender modeli içe aktarma
Dosya > Model İçe Aktar (OBJ / glTF) ile Blender'dan verilmiş modeller doğrudan N3 nesnesine çevrilir.
Desteklenen biçimler:
Üretilen dosyalar kaynak klasörünün Object\ altına yazılır: her malzeme grubu için bir .n3pmesh, dokular alfa durumuna göre DXT1/DXT3 sıkıştırmayla .dxt, nesnenin kendisi .n3shape, ayrıca çarpışma meshi. Nesne kaynak listesine eklendiği için nesne fırçasıyla (T) doğrudan haritaya konabilir.
- Wavefront OBJ + MTL - Durağan nesneler için en güvenilir yol. Çokgen yüzler, negatif dizinler ve map_Kd dokuları okunur.
- glTF 2.0 (.gltf ayrı .bin ya da gömülü base64 ile, ve .glb) - Düğüm hiyerarşisi ve dönüşümleri, POSITION/NORMAL/TEXCOORD_0, taban renk ve taban renk dokusu okunur.
Blender'da dışa aktarırken:
Koordinat sistemi dönüşümü otomatiktir: Blender sağ el / Z yukarı, N3 (Direct3D) sol el / Y yukarı çalışır. Eksen takası el sistemini de çevirdiğinden üçgenlerin sarım yönüne dokunulmaz. UV'de OBJ alttan, glTF üstten başladığı için V ekseni yalnız OBJ'de ters çevrilir.
- glTF için "Format: glTF Separate" ya da "glTF Embedded" seçin ve dokuların dosya olarak kopyalanmasını işaretleyin. Gömülü (data: URI ya da bufferView) görüntüler okunmaz.
- Modeli üçgenleştirmeniz gerekmez; içe aktarıcı çokgenleri üçgenler.
- Ölçek 1.0 kabul edilir. İçe aktarma sonunda nesnenin ölçüleri bildirilir; beklediğinizden farklıysa yerleştirdikten sonra ölçekleme aracıyla (R) düzeltin.
Kaldırılan eski bileşenler
uyarı!
- d3d8.h / d3d9.h / d3dx9.h / ddraw.h / dxerr8.h başlıkları, d3d9.lib / d3dx9.lib / dxerr.lib kitaplıkları ve DirectX SDK yolu
- DirectX 8 çağrı biçimleri: GetVertexShader ile FVF okuma, SetClipStatus
- Visual C++ 6.0 ve Visual SourceSafe kalıntıları (.dsp, .dsw, .plg, .opt, .scc, .APS)
- Kaynak dosyasında yinelenen dil bloğu (aynı menüler hem Korece hem İngilizce blokta tanımlıydı; hangisinin yükleneceği iş parçacığının yerel ayarına kalıyordu)
tools dosyasındaki .py dosyalarıyla .dxt lerin görüntü kalitesini iyileştirebilirsiniz.
1. Ne var, ona bakalım:
cd /d "DOSYA ADRESİ (tools dosyası)"
python tools\doku_tara.py "MapEditor\N3ME\x64\Debug"
2. Ne olacağını görelim (hiçbir şey yazılmaz):
python tools\doku_hd.py "MapEditor\N3ME\x64\Debug" --kuru ( neyi dönüştürebileceğine bakar)
3. Yerinde dönüştür — istediğiniz komut bu:
python tools\doku_hd.py "MapEditor\N3ME\x64\Debug" --yerinde dönüştürür.
boş zamanımda yaptım waowluk bir durum yok.
gördüğüme göre eski sürümü derleyemen arkadaşlar vardı .
teşekkürleri anthropic e yaparsınız.
iyi kullanmalar.
*** Gizli metin: alıntı yapılamaz. ***
rar şifresi : ilovekoyardim
Ekli dosyayı görüntüle 20158
tesekkurlerDürüst olmak gerekirse şuanda tam stabilite yok. ancak konu sürekli güncellenecek.
V.1.0.1
Render katmanı - MapEditor/N3BASE/DX11/
Motorun ~1700 çizim çağrısı sabit fonksiyon boru hattına (fixed function pipeline) dayanıyordu. Direct3D 11'de böyle bir boru hattı yok; her çizim shader gerektiriyor. Bu yüzden çağrı yerlerini tek tek dönüştürmek yerine, aynı arayüzü sunan ama içeride D3D11 çalıştıran bir katman yazıldı.
Öne çıkan çözümler:
Dosya Görevi N3RenderTypes.h d3d9.h yerine geçen tip ve sabitler N3RenderDevice.* Cihaz, durum takibi, çizim çağrıları, pencere başına swap chain N3RenderFFP.* Sabit fonksiyon boru hattının HLSL ile taklidi N3RenderResource.* Doku / yüzey / köşe / indeks tamponu sarmalayıcıları N3RenderImage.* BC1-BC3 codec'i, yüzey dönüşümü, DDS/TGA çözücü, WIC N3RenderMath.* D3DX matematiği yerine DirectXMath
- Shader üretimi. Doku birleştiricileri, köşe aydınlatması, sis ve alfa testinden oluşan durum kümesi bir anahtara indirgeniyor; her benzersiz anahtar için eşdeğer davranışta HLSL üretilip derleniyor ve önbelleğe alınıyor. Aynı kombinasyon ikinci kez derlenmiyor.
- Çoklu pencere. Editör tek cihazla birden çok MFC penceresine çiziyor. Çizim paylaşılan bir ara hedefe yapılıyor, Present istenen bölgeyi ilgili pencerenin swap chain'ine aktarıyor - eski D3D9 davranışının birebir karşılığı.
- CPU erişimi. Editör doku ve tampon içeriklerini sıkça okuyup yazıyor (ışık haritası, arazi renk haritası...). D3D11'de bir kaynak hem GPU'da hem CPU'da serbestçe erişilebilir olmadığından her kaynak sistem belleğinde gölge kopya tutuyor; kilit açıldığında değişiklik GPU'ya yükleniyor. Eski D3DPOOL_MANAGED davranışının karşılığı.
- Üçgen yelpazesi D3D11'de yok; indeks listesine çevriliyor. Dikdörtgen alan temizleme de yok; küçük bir dörtgen çizimiyle yapılıyor.
Dosya biçimi uyumluluğu
Editörün ürettiği haritaların oyun istemcisinde açılabilmesi için ikili biçimlerin bit düzeyinde aynı kalması gerekiyor. İki önlem alındı:
Doğrulanan boyutlar: __Vector3 12, __Matrix44 64, __Quaternion 16, __Material 92, __VertexT1 32, __VertexT2 40, __CameraData 364, N3MATERIAL 68, N3LIGHT 104, N3VIEWPORT 24 bayt.
- Sayısal değerler korundu. N3FMT_DXT1, N3TOP_MODULATE, N3BLEND_SRCALPHA gibi tokenlar eski Direct3D değerlerini birebir sürdürüyor; çünkü bunlar .n3tex başlığında ve malzeme kayıtlarında diske yazılıyor.
- Boyutlar derleme zamanında doğrulanıyor. N3RenderTypes.h ve My_3DStruct.h sonundaki static_assert blokları, dosyalara yazılan yapıların (__Vector3, __Matrix44, __Material, __VertexT1, __CameraData, N3LIGHT ...) boyutlarını sabitliyor. İleride bir alan eklenirse hata, dosya bozulmadan önce derlemede çıkıyor.
Kullanım
Serbest gezinme (F4)
Varsayılan kamera bir hedef noktanın etrafında dönen yörünge kamerasıdır; haritaya ancak dışarıdan bakılır. Görünüm > Serbest Gezinme (F4) ile harita içinde dolaşılır:
Kip açıkken W/A/S/D kısayolları (imleç kipleri) devre dışı kalır; Ctrl'lü kısayollar etkilenmez.
Giriş İşlev Sağ tuş basılı + fare Bakış yönü W / A / S / D İleri, sola, geri, sağa Q / E Alçal / yüksel Shift 4 kat hızlı Ctrl 4 kat hassas Fare tekerleği Taban hızını ayarla
Nesne araçları
- Ctrl+D - Seçili nesneleri çoğaltır. Kopya aynı konumda oluşur ve hemen seçilir, böylece taşıma aracıyla (W) doğrudan yeni yerine sürüklenebilir. Parça bazlı malzeme ve doku atamaları da kopyalanır.
- Düzen > Seçili Nesnenin Dokusunu Değiştir - Nesnenin her doku yuvası için sırayla dosya seçme penceresi açar. Seçilen dosya kaynak klasörünün altında olmalıdır; aksi halde harita istemcide açılmaz.
Blender modeli içe aktarma
Dosya > Model İçe Aktar (OBJ / glTF) ile Blender'dan verilmiş modeller doğrudan N3 nesnesine çevrilir.
Desteklenen biçimler:
Üretilen dosyalar kaynak klasörünün Object\ altına yazılır: her malzeme grubu için bir .n3pmesh, dokular alfa durumuna göre DXT1/DXT3 sıkıştırmayla .dxt, nesnenin kendisi .n3shape, ayrıca çarpışma meshi. Nesne kaynak listesine eklendiği için nesne fırçasıyla (T) doğrudan haritaya konabilir.
- Wavefront OBJ + MTL - Durağan nesneler için en güvenilir yol. Çokgen yüzler, negatif dizinler ve map_Kd dokuları okunur.
- glTF 2.0 (.gltf ayrı .bin ya da gömülü base64 ile, ve .glb) - Düğüm hiyerarşisi ve dönüşümleri, POSITION/NORMAL/TEXCOORD_0, taban renk ve taban renk dokusu okunur.
Blender'da dışa aktarırken:
Koordinat sistemi dönüşümü otomatiktir: Blender sağ el / Z yukarı, N3 (Direct3D) sol el / Y yukarı çalışır. Eksen takası el sistemini de çevirdiğinden üçgenlerin sarım yönüne dokunulmaz. UV'de OBJ alttan, glTF üstten başladığı için V ekseni yalnız OBJ'de ters çevrilir.
- glTF için "Format: glTF Separate" ya da "glTF Embedded" seçin ve dokuların dosya olarak kopyalanmasını işaretleyin. Gömülü (data: URI ya da bufferView) görüntüler okunmaz.
- Modeli üçgenleştirmeniz gerekmez; içe aktarıcı çokgenleri üçgenler.
- Ölçek 1.0 kabul edilir. İçe aktarma sonunda nesnenin ölçüleri bildirilir; beklediğinizden farklıysa yerleştirdikten sonra ölçekleme aracıyla (R) düzeltin.
Kaldırılan eski bileşenler
uyarı!
- d3d8.h / d3d9.h / d3dx9.h / ddraw.h / dxerr8.h başlıkları, d3d9.lib / d3dx9.lib / dxerr.lib kitaplıkları ve DirectX SDK yolu
- DirectX 8 çağrı biçimleri: GetVertexShader ile FVF okuma, SetClipStatus
- Visual C++ 6.0 ve Visual SourceSafe kalıntıları (.dsp, .dsw, .plg, .opt, .scc, .APS)
- Kaynak dosyasında yinelenen dil bloğu (aynı menüler hem Korece hem İngilizce blokta tanımlıydı; hangisinin yükleneceği iş parçacığının yerel ayarına kalıyordu)
tools dosyasındaki .py dosyalarıyla .dxt lerin görüntü kalitesini iyileştirebilirsiniz.
1. Ne var, ona bakalım:
cd /d "DOSYA ADRESİ (tools dosyası)"
python tools\doku_tara.py "MapEditor\N3ME\x64\Debug"
2. Ne olacağını görelim (hiçbir şey yazılmaz):
python tools\doku_hd.py "MapEditor\N3ME\x64\Debug" --kuru ( neyi dönüştürebileceğine bakar)
3. Yerinde dönüştür — istediğiniz komut bu:
python tools\doku_hd.py "MapEditor\N3ME\x64\Debug" --yerinde dönüştürür.
boş zamanımda yaptım waowluk bir durum yok.
gördüğüme göre eski sürümü derleyemen arkadaşlar vardı .
teşekkürleri anthropic e yaparsınız.
iyi kullanmalar.
*** Gizli metin: alıntı yapılamaz. ***
rar şifresi : ilovekoyardim
Ekli dosyayı görüntüle 20158