|
You last visited: Today at 21:53
Advertisement
AlphaBlending hilfe gesucht
Discussion on AlphaBlending hilfe gesucht within the General Coding forum part of the Coders Den category.
06/19/2012, 16:03
|
#1
|
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
|
AlphaBlending hilfe gesucht
ich komm nich weiter und mein schlaues buch sagt mir auch nicht viel drüber. Ich brauhc hilfe bei AlphaBlending mit der MiniMap :C
irgendwie sieht es ingame bei mir jetz so aus
das is mein code in
Cwndnavigator: nreasebkgn
nach
Code:
// pd3dDevice->SetVertexShader(D3DFVF_LVERTEX);
pd3dDevice->SetRenderState(D3DRS_STENCILENABLE, TRUE);
pd3dDevice->SetRenderState(D3DRS_STENCILZFAIL, D3DSTENCILOP_KEEP);
pd3dDevice->SetRenderState(D3DRS_STENCILFAIL, D3DSTENCILOP_KEEP);
pd3dDevice->SetRenderState(D3DRS_STENCILPASS, D3DSTENCILOP_REPLACE);
pd3dDevice->SetRenderState(D3DRS_STENCILFUNC, D3DCMP_ALWAYS);
pd3dDevice->SetRenderState(D3DRS_STENCILREF, 0x1);
pd3dDevice->SetRenderState(D3DRS_STENCILMASK, 0xffffffff);
pd3dDevice->SetRenderState(D3DRS_STENCILWRITEMASK, 0xffffffff);
pd3dDevice->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE);
pd3dDevice->SetRenderState(D3DRS_ALPHAREF, 50);
pd3dDevice->SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL);
pd3dDevice->BeginScene();
//pd3dDevice->DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST, 0, 4, 2,&m_billBlend , D3DFMT_INDEX16, &m_billBlend, sizeof(D3DLVERTEX));
pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE);
pd3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ZERO);
pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,FALSE);
pd3dDevice->SetRenderState(D3DRS_ALPHATESTENABLE, FALSE);
///
//pd3dDevice->DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST, 0, 4, 2, &m_billBlend , D3DFMT_INDEX16, &m_billBlend, sizeof(D3DLVERTEX));
pd3dDevice->SetRenderState(D3DRS_ZWRITEENABLE, TRUE);
///
pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
pd3dDevice->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE);
pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
pd3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
m_billBlend.Render(pd3dDevice);
pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, FALSE);
pd3dDevice->SetRenderState(D3DRS_ALPHATESTENABLE, FALSE);
pd3dDevice->EndScene();
wenn jemand mehr ahnung von directx hat und hilfbereit ist würd ich mich freun
wenn gewünscht kann ich auch mal die Seiten ausm buch hier mit reinstellen wo ich das ganze her hab.
|
|
|
06/22/2012, 15:29
|
#2
|
elite*gold: 1
Join Date: Feb 2009
Posts: 6,379
Received Thanks: 7,998
|
Ich kenne dieses Spiel nicht, daher kann ich nur vermuten, dass du damit sagen willst, dass das Spiel nach der Aktivierung deines Hooks nicht mehr korrekt rendert? Welche DirectX Version wird verwendet?
|
|
|
06/22/2012, 17:21
|
#3
|
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
|
Quote:
Originally Posted by Ende!
Ich kenne dieses Spiel nicht, daher kann ich nur vermuten, dass du damit sagen willst, dass das Spiel nach der Aktivierung deines Hooks nicht mehr korrekt rendert? Welche DirectX Version wird verwendet?
|
dx 9
ich will oben die kleine karte anstatt eckig rund render. hab das jetz mit alphablending aufgegeben und wollte es mit einer anzahl an vertexen rund rendern lassen.
aber das klappt jetz auch nicht irgendwie..
code is
Code:
//sturct
struct TEXTUREVERTEX
{
D3DXVECTOR3 vec;//
//FLOAT x, y, z,
FLOAT rhw, u, v;
};
//eine eckige textur rund rendern
BOOL C2DRender::RenderTextureCircle( int iVertices, float iRadius, CTexture* pTexture, DWORD dwBlendFactorAlhpa, FLOAT fScaleX , FLOAT fScaleY)
{
if(!pTexture) return FALSE;
int nVertex = iVertices + 1;
TEXTUREVERTEX * pVertices;
pVertices = new TEXTUREVERTEX [nVertex];
float fComplete;
FLOAT x;
FLOAT y;
for ( int iVertex = 0; iVertex < nVertex; iVertex ++)
{
fComplete = (float)iVertex / nVertex;
x = (float)((fScaleX) + (float)iRadius * cos(6.2831f*fComplete));
y = (float)((fScaleY) + (float)iRadius * sin(6.2831f*fComplete));
SetTextureVertex( pVertices, x, y, pTexture->m_fuRB, pTexture->m_fvRB);
pVertices++;
}
m_pd3dDevice->SetSamplerState( 0, D3DSAMP_ADDRESSU, 1 );
m_pd3dDevice->SetSamplerState( 0, D3DSAMP_ADDRESSV, 1 );
m_pd3dDevice->SetSamplerState( 0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR );
m_pd3dDevice->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR );
m_pd3dDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE );
m_pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
m_pd3dDevice->SetRenderState( D3DRS_TEXTUREFACTOR, D3DCOLOR_ARGB( dwBlendFactorAlhpa, 0, 0, 0 ) );
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1 );
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_MODULATE );
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE );
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG2, D3DTA_TFACTOR );
m_pd3dDevice->SetVertexShader( NULL );
m_pd3dDevice->SetTexture( 0, pTexture->m_pTexture );
m_pd3dDevice->SetFVF( D3DFVF_TEXTUREVERTEX );
m_pd3dDevice->DrawPrimitiveUP( D3DPT_TRIANGLESTRIP, 2, pVertices, sizeof( TEXTUREVERTEX ) );
m_pd3dDevice->SetTexture( 0, NULL );
return TRUE;
};
mit dem kommt ingame nur noch ein flackern und nicht eine runde textur ( die eigentlich eckig ist)
habe mal nen radius von 10 angeben, x center und y center 10 und 10 vertices aber iwas muss ich wohl im algorythmus falsch gemacht haben
|
|
|
06/22/2012, 17:51
|
#4
|
elite*gold: 1
Join Date: Feb 2009
Posts: 6,379
Received Thanks: 7,998
|
Code:
m_pDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
m_pDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
m_pDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
m_pDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
m_pDevice->SetRenderState(D3DRS_LIGHTING, FALSE);
m_pDevice->SetRenderState(D3DRS_STENCILENABLE, FALSE);
Versuch's mal damit.
|
|
|
06/22/2012, 18:18
|
#5
|
elite*gold: 18
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,471
|
Wieso setzt du noch den Renderstate, nach dem die Navigation bereits gerendert wurde ?
Das ergibt doch keinen Sinn.
Die Navigation wird im Source bereits leicht abgerundet, musst nur das etwas umschreiben.
|
|
|
06/22/2012, 23:39
|
#6
|
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
|
Quote:
Originally Posted by Sedrika
Wieso setzt du noch den Renderstate, nach dem die Navigation bereits gerendert wurde ?
Das ergibt doch keinen Sinn.
Die Navigation wird im Source bereits leicht abgerundet, musst nur das etwas umschreiben.
|
ich mach ne ganz neue funktion die ne textur rund rendern soll anhand von einer anzahl an vertices & radius
|
|
|
06/25/2012, 15:59
|
#7
|
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
|
jemand ne idee wo jetz der fehler liegt?
|
|
|
06/25/2012, 16:01
|
#8
|
elite*gold: 93616
Join Date: Apr 2010
Posts: 13,737
Received Thanks: 14,990
|
Was meinst du mit flackern?
Kann man die Karte denn sehen?
|
|
|
06/25/2012, 17:03
|
#9
|
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
|
Quote:
Originally Posted by Neeya Nanaa
Was meinst du mit flackern?
Kann man die Karte denn sehen?
|
nein es ist ein flackern mit einer farbe meistens grün oder braun.
ich meine mit flackern
also wen man die maus schnell drüber zieht dann kommt für ein paar millisekunden ein 5 eck das so aussieht ( ein viereck und unten links ist eine kante)
|
|
|
06/25/2012, 17:55
|
#10
|
elite*gold: 93616
Join Date: Apr 2010
Posts: 13,737
Received Thanks: 14,990
|
Versuchs mal so
Code:
pDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
pDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_DIFFUSE);
pDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
pDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
|
|
|
06/25/2012, 18:26
|
#11
|
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
|
Quote:
Originally Posted by Neeya Nanaa
Versuchs mal so
Code:
pDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
pDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_DIFFUSE);
pDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
pDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
|
komplett ersetzen oder ein teil oder hinzufügen? ( bei c2drender::rendertexturecircle)
|
|
|
06/25/2012, 18:49
|
#12
|
elite*gold: 93616
Join Date: Apr 2010
Posts: 13,737
Received Thanks: 14,990
|
Quote:
Originally Posted by Jopsi332
komplett ersetzen oder ein teil oder hinzufügen? ( bei c2drender::rendertexturecircle)
|
Ersetzen.
Du ersetzt z.B :
Code:
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
mit
Code:
pDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_DIFFUSE);
|
|
|
06/25/2012, 20:10
|
#13
|
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
|
Quote:
Originally Posted by Neeya Nanaa
Ersetzen.
Du ersetzt z.B :
Code:
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
mit
Code:
pDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_DIFFUSE);
|
damit kackt mein client ab
so mit deineer veärnderung flackert es einfahc weiß xD
ich wieß jetz warscheinlich wo der fehler ist, aber weiß nich genau wie ich den behebe
also mein algorythmus zum errechnen von x und y hab ich u und v koordinaten vergessen. ich gebe dem vertex immer rechts unten uv koordinaten.. weiß jemand wie ich für ienen kreis die uv koordinaten berrechne?
|
|
|
|
Similar Threads
|
Dämonen Jäger Guid gesucht [Hilfe gesucht]
05/31/2012 - Diablo 3 - 3 Replies
Hallo, ich bin nun ein lvl 21 Dämonen Jäger und würde mal gerne wissen was ich so brauche (auch für später) z.b Viel DMG oder viel Def oder Hp sowas halt. Und was empfiehielt ihr 2 einhand armbrüste oder eine 2 Hand armbrust.
Und, und, und...
Brauche halt nur Tipps.
MFG
|
[Hilfe gesucht]: Erfahrener AutoIt Nutzer als Supporter gesucht
08/12/2011 - AutoIt - 2 Replies
Hat sich erledigt.
|
[SUCHE HILFE] Hilfe für meinen Metin2 P.server gesucht
06/30/2011 - Metin2 Private Server - 8 Replies
Hallo zusammen :)
Wie euch mein Titel schon sagt, suche ich Hilfe zu diversen Dingen um meinen Metin2 P.server fertig zu bekommen.
Das Wären:
- Eine neue Map beim Teleporter eintragen
- Ca. 4 neue Quests einbauen
- Die allgemeinen Drops der Mobs runter zu setzen
- Die allgemeine Yang-drop chance runter zu setzen (Wildhund ca. 80 Yang)
- Reittiere einbauen
|
[Hilfe gesucht] FreeWar2 [Hilfe gesucht]
12/26/2009 - Metin2 Private Server - 15 Replies
Hallöchen zusammen.
Ich suche eine Person die mir meinen Server erstellen kann.
Habe schon aus Früheren Zeiten, noch Virtual PC drauf, mit einem alten Metin2 Server, und da müssen halt noch paar Sachen geändert werden.
Navicat habe ich Installiert, dort sollte man nur 2 Accounts erstellen und diese GM machen.
Dann sollte man am besten wissen welche Rates Metin2 DE hat, den es soll eine Perfekt Nachbildung von Metin2 Germany werden.
Wer wird darauf Spielen?
Zuerst wird es eine...
|
All times are GMT +2. The time now is 21:53.
|
|