C++ [ Render Target Scale Eklentisi ]

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 109

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Kod:
CPythonRenderTargetModule.cpp // bos yere ekle PyObject* renderTargetSetZoom(PyObject* poSelf, PyObject* poArgs) {     BYTE index = 0;     if (!PyTuple_GetByte(poArgs, 0, &index))         return Py_BadArgument();     float zoomVal = 0.0f;     if (!PyTuple_GetFloat(poArgs, 1, &zoomVal))         return Py_BadArgument();     CRenderTargetManager::Instance().GetRenderTarget(index)->SetRenderZoom(zoomVal);     return Py_BuildNone(); } PyObject* renderTargetSetZ(PyObject* poSelf, PyObject* poArgs) {     BYTE index = 0;     if (!PyTuple_GetByte(poArgs, 0, &index))         return Py_BadArgument();     float zoomVal = 0.0f;     if (!PyTuple_GetFloat(poArgs, 1, &zoomVal))         return Py_BadArgument();     CRenderTargetManager::Instance().GetRenderTarget(index)->SetRenderZ(zoomVal);     return Py_BuildNone(); } // arat { "SetBackground", renderTargetSetBackground, METH_VARARGS }, // alıtna ekle         { "SetZoom", renderTargetSetZoom, METH_VARARGS },         { "SetZ", renderTargetSetZ, METH_VARARGS }, // eterlib/CRenderTarget.cpp bos yere ekle void CRenderTarget::SetRenderZoom(const float zoom) {     m_fZoom = zoom; } void CRenderTarget::SetRenderZ(const float z) {     m_fZVal = z; } // arat     python_graphic.UpdateViewMatrix();     python_graphic.SetPerspective(10.0f, width / height, 100.0f, 3000.0f); // degistir     python_graphic.UpdateViewMatrix();     const auto f_ren = 10.0f + m_fZoom;     python_graphic.SetPerspective(f_ren, width / height, 100.0f, 3000.0f); // arat     camera_manager.GetCurrentCamera()->SetViewParams(         D3DXVECTOR3{ 0.0f, -1500.0f, 600.0f }, // komple degistir     camera_manager.GetCurrentCamera()->SetViewParams(         D3DXVECTOR3{ 0.0f, -1500.0f, 600.0f },         D3DXVECTOR3{ 0.0f, 0.0f, m_fZVal },         D3DXVECTOR3{0.0f, 0.0f, 1.0f}     ); // arat m_renderTargetTexture = std::unique_ptr<CGraphicRenderTargetTexture>(pTex); // alta ekle     m_fZVal = 95.0f; // eterlib/CRenderTarget.h // arat         void DeformModel() const; // alta ekle         void SetRenderZoom(float zoom);         void SetRenderZ(float z);


PYTHON

Sistemizin render target kodunun olduğu kısmına eklenir

Oradaki numaraları guinize göre ayarlarsınız.


Kod:
renderTarget.SetZoom(RENDER_BACKGROUND_INDEX, 25.0)              renderTarget.SetZ(RENDER_BACKGROUND_INDEX, 250.0)

C++ Render Target Scale Eklentisi ile Metin2 Görsel Performansını Arttırın


Metin2 özel sunucu geliştirme sürecinde, görsel kalitenin artırılması ve performans optimizasyonu büyük önem taşır. Bu bağlamda Render Target Scale eklentisi, görsel efektlerin daha net ve detaylı görünmesini sağlarken, aynı zamanda performans üzerindeki yükü minimize eder. Bu eklenti, özellikle C++ tabanlı Metin2 client üzerinde çalışan geliştiriciler için değerli bir araçtır.

Render Target Scale Nedir?
Render Target Scale, bir rendering işleminin belirli bir ölçek faktörüne göre yapılmasını sağlar. Örneğin, oyun ekranı 1080p çözünürlükte çalışırken, render işlemleri 720p gibi daha düşük bir çözünürlükte yapılır. Bu sayede performans artar. Ancak bu eklenti sayesinde görsel detaylar korunurken, yüksek çözünürlüklü efektler daha akıcı bir şekilde işlenebilir.

C++ Kaynak Kod Seviyesinde Entegrasyon
Bu eklentinin C++ sistem seviyesinde entegrasyonu oldukça önemli bir adımdır. Geliştiriciler, client src dosyalarında bulunan rendering motoruna müdahale ederek bu sistemi entegre edebilirler. Özellikle DirectX veya OpenGL tabanlı rendering sistemlerinde, render target oluşturulurken ölçekleme faktörünü tanımlamak yeterlidir. Bu işlem, render buffer boyutunun ayarlanmasıyla gerçekleştirilir.

Uygulama Adımları:
1. Client src içinde rendering sınıfına girin.
2. Render target oluşturulurken scale parametresi ekleyin.
3. Render buffer genişliğini ve yüksekliğini scale faktörüne göre ayarlayın.
4. Shader pipeline'ını scale faktörüne göre güncelleyin.
5. Bu değişiklikleri derleyip test edin.

Python GUI ve Uiscript ile Entegrasyon
Metin2 özel sunucularında, kullanıcı arayüzü yönetimi için Py GUI ve uiscript sistemleri yaygın olarak kullanılır. Render Target Scale eklentisi, görsel efektlerin kullanıcı arayüzünde daha net görünmesini sağlar. Bu sayede, örneğin bir PvP sistem ekranında savaş efektleri daha net görülebilir. PyRoot içinde bu eklentiyi kullanmak için UI rendering sırasında scale faktörünü aktif hale getirmek gerekir.

Performans Artışı ve Avantajları
Render Target Scale sayesinde, yüksek çözünürlüklü efektler düşük performansla işlenebilir. Bu özellikle PvP anlarında çok sayıda efektin ekranda olduğu durumlarda büyük fark yaratır. Ayrıca, bu sistem sayesinde donanım gereksinimleri düşerken, görsel kalite korunur.

Geliştiriciler İçin Öneriler
Bu eklentiyi kullanırken, farklı çözünürlüklerde test yapmanız önerilir. Martysama gibi deneyimli geliştiricilerin forumlarda paylaştığı örnek kodlar ve dersler, bu sistemin doğru şekilde entegrasyonu için iyi bir referanstır. Ayrıca, Metin2Dev platformları üzerinden diğer geliştiricilerle fikir alışverişi yaparak bu sistemi daha da optimize edebilirsiniz.

Sonuç
Render Target Scale eklentisi, hem görsel kaliteyi artıran hem de performansı optimize eden güçlü bir araçtır. Metin2 özel sunucu geliştiricileri için bu eklenti, oyuncu deneyimini ciddi anlamda iyileştirebilir. Doğru entegrasyon ile bu sistem, game core performansını artırabilir ve daha akıcı bir PvP sistemi sunabilir.


Enhance Metin2 Visual Performance with C++ Render Target Scale Addon


In Metin2 private server development, increasing visual quality and optimizing performance are crucial. In this context, the Render Target Scale addon allows visual effects to appear clearer and more detailed while minimizing performance load. This addon is especially valuable for developers working on C++ based Metin2 clients.

What is Render Target Scale?
Render Target Scale enables rendering operations to be performed at a specific scale factor. For example, while the game screen runs at 1080p resolution, rendering operations can be done at a lower resolution like 720p, thus improving performance. However, with this addon, visual details are preserved while high-resolution effects are processed more smoothly.

Integration at C++ Source Code Level
Integrating this addon at the C++ system level is quite important. Developers can integrate this system by modifying the rendering engine found within client src files. Especially in DirectX or OpenGL-based rendering systems, defining the scaling factor when creating render targets is sufficient. This process involves adjusting the render buffer dimensions according to the scale factor.

Implementation Steps:
1. Enter the rendering class in client src.
2. Add a scale parameter when creating render targets.
3. Adjust render buffer width and height according to the scale factor.
4. Update shader pipeline according to the scale factor.
5. Compile and test these changes.

Integration with Python GUI and Uiscript
In Metin2 private servers, Py GUI and uiscript systems are commonly used for user interface management. The Render Target Scale addon ensures that visual effects appear more clearly in the user interface. Thus, during a PvP match, battle effects can be seen more clearly. To use this addon within PyRoot, the scale factor must be activated during UI rendering.

Performance Improvement and Benefits
Thanks to Render Target Scale, high-resolution effects can be processed with low performance. This makes a significant difference especially during PvP moments where many effects appear on screen simultaneously. Additionally, while hardware requirements decrease, visual quality remains preserved.

Recommendations for Developers
When using this addon, testing at different resolutions is recommended. Example codes and tutorials shared by experienced developers like Martysama in forums serve as good references for correct integration. Moreover, by exchanging ideas with other developers through Metin2Dev platforms, you can further optimize this system.

Conclusion
The Render Target Scale addon is a powerful tool that enhances both visual quality and optimizes performance. For Metin2 private server developers, this addon can significantly improve player experience. With proper integration, this system can enhance game core performance and provide a smoother PvP system.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt