İlan
04 Haz 2026 21 çevrimiçi üye Duyurular
Ana Sayfa C++ / C# / Python
Ana Sayfa Forum C++ / C# / Python dx8 metin2 shader (güzel olmadı içerik amaçlı payl...
İlan Yan banner placeholder

dx8 metin2 shader (güzel olmadı içerik amaçlı paylaştım)

kittiest_t 19.04.2026 17:50 943 görüntüleme 5 cevap
Son Mesaj
kittiest_t
Üye
Üye
Katılım20 Şub 2026
Konular5
Mesajlar59
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
19.04.2026 17:50 #1
dx8 de dx9 gibi düzgün bi shader yok kısıtlı.
ama başka yollar var.
şuankide güzel olmadı içerik amaçlı paylaşıyorum.



actorinstancerender.cpp en asagi ekle.

void CActorInstance::RenderDynamicTextureEffect()
{
// =========================================================
// 1. FİLTRELER
// =========================================================
// if (!IsPC() || GetPartItemID(CRaceData:ART_MAIN) == 0 || !m_isMain)
// return;

const D3DXMATRIX* pWorldMatrix = &GetTransform();
if (!pWorldMatrix)
return;

// =========================================================
// 2. UV KAYDIRMA MATEMATİĞİ (Sihir burada)
// =========================================================
// Oyundaki anlık zamanı al (Kayma hızını 0.5f ile belirliyoruz)
const float fTime = CTimer::Instance().GetCurrentSecond() * 0.5f;

D3DXMATRIX matTexture;
D3DXMatrixIdentity(&matTexture);

// Dokuyu V ekseni (Y ekseni) boyunca yukarıdan aşağıya doğru kaydır
matTexture._32 = fTime;

// =========================================================
// 3. ÇİZİM VE IŞIK AYARLARI
// =========================================================
STATEMANAGER.SaveRenderState(D3DRS_ZWRITEENABLE, FALSE);
STATEMANAGER.SaveRenderState(D3DRS_ALPHABLENDENABLE, TRUE);

// Işık gibi parlaması için Additive Blending (Eklemeli Harmanlama)
STATEMANAGER.SaveRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
STATEMANAGER.SaveRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE);
STATEMANAGER.SaveRenderState(D3DRS_LIGHTING, FALSE);

// =========================================================
// 4. MOTORU ATEŞLE VE ÇİZ
// =========================================================
// Hazırladığımız kayan matrisi DirectX'e gönderiyoruz
STATEMANAGER.SetTransform(D3DTS_TEXTURE0, &matTexture);
STATEMANAGER.SaveTextureStageState(0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_COUNT2);

// Renk ve Parlaklık Ayarı (Buz mavisi/elektrik akan bir enerji rengi)
STATEMANAGER.SaveTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE2X);
STATEMANAGER.SaveTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
STATEMANAGER.SaveTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TFACTOR);
STATEMANAGER.SetRenderState(D3DRS_TEXTUREFACTOR, D3DCOLOR_ARGB(150, 100, 150, 255));

// Efekti zırhın hemen üzerine milimetrik olarak oturt
D3DXMATRIX matScale, matWorldEffect;
D3DXMatrixScaling(&matScale, 1.005f, 1.005f, 1.005f);
D3DXMatrixMultiply(&matWorldEffect, &matScale, pWorldMatrix);
STATEMANAGER.SetTransform(D3DTS_WORLD, &matWorldEffect);

// Kayan efektli zırhı ekrana çiz
RenderWithOneTexture();

// =========================================================
// 5. TEMİZLİK (DİĞER DOKULARIN KAYMASINI ENGELLE)
// =========================================================

// Kayan matrisi devre dışı bırak ve sıfırla (Çok kritik)
STATEMANAGER.SaveTextureStageState(0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_DISABLE);

D3DXMATRIX matIdentity;
D3DXMatrixIdentity(&matIdentity);
STATEMANAGER.SetTransform(D3DTS_TEXTURE0, &matIdentity);

STATEMANAGER.RestoreTextureStageState(0, D3DTSS_COLORARG2);
STATEMANAGER.RestoreTextureStageState(0, D3DTSS_COLORARG1);
STATEMANAGER.RestoreTextureStageState(0, D3DTSS_COLOROP);

STATEMANAGER.RestoreRenderState(D3DRS_LIGHTING);
STATEMANAGER.RestoreRenderState(D3DRS_DESTBLEND);
STATEMANAGER.RestoreRenderState(D3DRS_SRCBLEND);
STATEMANAGER.RestoreRenderState(D3DRS_ALPHABLENDENABLE);
STATEMANAGER.RestoreRenderState(D3DRS_ZWRITEENABLE);

STATEMANAGER.SetTransform(D3DTS_WORLD, pWorldMatrix);
}

burayı bu şekidle güncelle
STATEMANAGER.RestoreRenderState(D3DRS_CULLMODE);

// RenderCustomAura(); <-- EĞER BU VARSA SİL, DIŞ SEMBOL HATASININ SEBEBİ BU
RenderDynamicTextureEffect(); // Sadece yeni efektimiz kalsın

kMtrl.Diffuse=D3DXCOLOR(0xffffffff);

actorinsatnce.h

ekle
void RenderDynamicTextureEffect();
kittiest_t
Üye
Üye
Katılım20 Şub 2026
Konular5
Mesajlar59
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
28.04.2026 18:20 #2
dx 3.5
justkaraduman
Üye
Üye
Katılım08 Oca 2026
Konular7
Mesajlar62
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
30.04.2026 23:10 #3
My warrior thinking, "Why?"
LimonCreatif
Üye
Üye
Katılım07 Oca 2026
Konular5
Mesajlar43
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
07.05.2026 04:29 #4
dx 3.5
promet1907
Üye
Üye
Katılım19 Nis 2026
Konular5
Mesajlar29
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
07.05.2026 11:13 #5
ama abi sana geçen konuda yapay zekayı salmanı söyledim niye salmıyorsun şu mereti
kittiest_t
Üye
Üye
Katılım20 Şub 2026
Konular5
Mesajlar59
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
07.05.2026 12:52 #6
ama abi sana geçen konuda yapay zekayı salmanı söyledim niye salmıyorsun şu mereti
yapay zeka baştan sana söylüyor bu dx8.1 bundan olmaz dx9a geçmen gerek diyor.

yorumalrda okuduğuma göre dx9 geçenler hata alabiliyor.

martysama owsap da geçmedi dx9a
Bu konuyu görüntüleyenler
1 misafir
Cevap yazmak için giriş yapın.
Benzer Konular
6 cevap
2K görüntüleme
9 cevap
1.9K görüntüleme
4 cevap
1.9K görüntüleme
8 cevap
1.9K görüntüleme
İlan Yan banner placeholder