RDR3 çıktığında ben de açılış yapacamAdam ya ne zaman oynuyoruz bunu.
Güncelleme:
- Tüm objelerin(.gr2) shader ile olan bağlantısına ve c++ işlemlerine ufak bir optimizasyon uygulandı.
Normalde çalışan default sistem, kendisine gönderilen her materiali işliyordu ve her biri için aynı işlemleri tekrar tekrar yapıyordu. Bu saniyede onlarca-yüzlerce gereksiz işlem demek. Optimizasyon sonrasında ise bu varsayılan yapı değiştirildi ve aynı olan material öğeleri sadece 1 defa shaderda işlenecek şekilde düzenlendi. Aynı şey c++ tarafında ilgili pointerlara da uygulandı ve akıllı işaretçilere geçiş yapıldı.
Örneğin: bir yerde 20 tane aynı metin taşı varsa, veya 50 tane aç yabani köpek varsa, bunların sadece 1 tanesi işleme alınır, geriye kalanlara ise zaten aynı oldukları için tekrardan aynı okuma vb. işlemler yapılmaz. Bir başka örnekle; Siyah çelik giymiş 30(veya x adet) savaşçı karakterinin olduğu bir yerde, bu siyah çeliklerin sadece biri alınır ve işlenir, diğer 29u atılır.
- Su altı kamerası eklendi.
Çok özelleştirmeye gitmedim, sadece temel düzeyde çalıştırıp bıraktım. Uzun zaman önce oluşturduğum post-process ile çalışıyor ve bu post-process'in o zamandan bu yana iyileştirilmesi, shaderlarının falan ayrıştırılması gerekiyor(üşeniyorum). O yüzden bu yapıya eklediğim şeyleri şimdilik çok üstelemiyorum. Bu yapıyla ilgili daha farklı planlarım var, o yüzden iyileştirme öncesinde ortalığı karıştırmak istemiyorum.
Nvidia hairworks tarzı fena olur. @Kaiser Ne diyorsun bu işe shader adam?yakında daha realistik grafikler bekliyoruz saç dinamiği falan ?vs atarken kan çıkması gibi gibi..
Aklımda deli şeyler var ama yapay zeka yapayy mı bilmyiroumNvidia hairworks tarzı fena olur. @Kaiser Ne diyorsun bu işe shader adam?
Bu ve benzeri şeyler beni de cezbediyor ama şu an için pek kolay görünmüyor maalesefyakında daha realistik grafikler bekliyoruz saç dinamiği falan ?vs atarken kan çıkması gibi gibi..
Bir gün directx11 geçebilirsem hairworks belki olabilirNvidia hairworks tarzı fena olur. @Kaiser Ne diyorsun bu işe shader adam?
ms_pntVS
ms_pnt2VS
ms_lpd3dMatStack
--------
CreatePNTStreamVertexShader();
CreatePNT2StreamVertexShader();
GetMatrix();
GetMatrixPointer();
PushMatrix();
Scale();
Rotate();
RotateLocal();
MultMatrix();
MultMatrixLocal();
RotateYawPitchRollLocal();
Translate();
LoadMatrix();
PopMatrix();
..
Teşekkür ederim.Ağaçların, su altı kameranın görünüşleri kaliteli duruyor hocam bu damage yiyince çıkan kırmızı görüntülerin, atıyorum sadece %15 can altındayken alınan hasarda veya kritik+delici gelmiş bir damage'de çıkması derinlik katabilir zevkle takipteyim konuyu.
void CStateManager::SetLight(DWORD index, CONST D3DLIGHT9* pLight)
{
assert(index < SLightData::LIGHT_NUM);
m_kLightData.m_akD3DLight[index] = *pLight;
m_lpD3DDev->SetLight(index, pLight);
}
struct SLightData
{
enum
{
LIGHT_NUM = 8,
};
D3DLIGHT9 m_akD3DLight[LIGHT_NUM];
} m_kLightData;
void CMapOutdoor::ApplyLight(DWORD dwVersion, const D3DLIGHT8& c_rkLight)
{
STATEMANAGER.SetLight(0, &c_rkLight);
}
CGraphicTextInstance::Render fonksiyonu 30 satıra kadar düşürüldü. Artık zilyon tane hesaplama yapılmaz, mevcut değerler FreeType ve shader tarafından beraber işlenir.şu otomatik düzeltme olayı muaazzam bir özellikmiş hocam ellerinize sağlık valla çok keyifli bir konuya doğru gitmeye devam ediyorGüncelleme:
Su yansıması tamamlandı.
Ağaçlar yansımaya dahil edildi. + Shader uyarlaması yapıldı.
Gökyüzü dahil edildi. + Shader uyarlaması yapıldı.
Tüm haritalar için otomatik arazi düzeltme yapısı eklendi.
Hangi harita olduğu fark etmeksizin bulunan sivri-keskin kenarlar otomatik tespit edilip yumuşatılır.
(Başlangıç seviyesindedir ve geliştirilmeye ihtiyaç duyulabilir. Şuan olduğu gibi saldım.)
Öncesi:
Sonrası: