MisterDeath
Частый гость

Дата регистрации: Nov 2010
Проживает: asd
Сообщений: 91
Возраст: 30
Рейтинг
|
Tri API 3D Sphere problem
I Extracted this code in the forum... but the problem is the texture repeat in each picture...

C++ Source Code:
1 | int CSphere :: Draw( float flTime ) |
6 | // Load it up with some bogus data |
7 | player = gEngfuncs.GetLocalPlayer(); |
16 | if (gHUD.m_hsprCursor == 0) |
19 | sprintf( sz, "sprites/blastsphere.spr" ); |
20 | gHUD.m_hsprCursor = SPR_Load( sz ); |
23 | gEngfuncs.pTriAPI->SpriteTexture( (struct model_s *)gEngfuncs.GetSpritePointer( gHUD.m_hsprCursor ), 0 ); |
25 | // Create a triangle, sigh |
26 | gEngfuncs.pTriAPI->RenderMode( kRenderTransAdd ); |
27 | gEngfuncs.pTriAPI->CullFace( TRI_NONE ); |
28 | gEngfuncs.pTriAPI->Brightness( 1 ); |
29 | gEngfuncs.pTriAPI->Color4f( 1.0, 1.0, 1.0, 1.0 ); |
40 | //gEngfuncs.Con_Printf( "grad2 = %f, z = %f\n", grad2, cos(M_PI * (grad2 / 180))); |
44 | gEngfuncs.pTriAPI->Begin( TRI_QUAD_STRIP ); |
46 | z = radius * sin(M_PI * (grad2 / 180)); |
48 | tmp = radius * cos(M_PI * (grad2 / 180)); |
49 | x = cos(M_PI * (grad1 / 180)) * tmp; |
50 | y = sin(M_PI * (grad1 / 180)) * tmp; |
52 | // gEngfuncs.Con_Printf( "Rad x1 = %f, y1 = %f, z1 = %f\n", x, y, z); |
54 | gEngfuncs.pTriAPI->TexCoord2f( 0, 1 ); |
55 | gEngfuncs.pTriAPI->Vertex3f( org.x + x, org.y + y, org.z + z ); |
58 | z = radius * sin(M_PI * (grad2 / 180)); |
60 | tmp = radius * cos(M_PI * (grad2 / 180)); |
61 | x = cos(M_PI * (grad1 / 180)) * tmp; |
62 | y = sin(M_PI * (grad1 / 180)) * tmp; |
64 | // gEngfuncs.Con_Printf( "Rad x2 = %f, y2 = %f, z2 = %f\n", x, y, z); |
66 | gEngfuncs.pTriAPI->TexCoord2f( 1, 1 ); |
67 | gEngfuncs.pTriAPI->Vertex3f( org.x + x, org.y + y, org.z + z ); |
71 | z = radius * sin(M_PI * (grad2 / 180)); |
73 | tmp = radius * cos(M_PI * (grad2 / 180)); |
74 | x = cos(M_PI * (grad1 / 180)) * tmp; |
75 | y = sin(M_PI * (grad1 / 180)) * tmp; |
77 | // gEngfuncs.Con_Printf( "Rad x3 = %f, y3 = %f, z3 = %f\n", x, y, z); |
79 | gEngfuncs.pTriAPI->TexCoord2f( 0, 0 ); |
80 | gEngfuncs.pTriAPI->Vertex3f( org.x + x, org.y + y, org.z + z ); |
83 | z = radius * sin(M_PI * (grad2 / 180)); |
85 | tmp = radius * cos(M_PI * (grad2 / 180)); |
86 | x = cos(M_PI * (grad1 / 180)) * tmp; |
87 | y = sin(M_PI * (grad1 / 180)) * tmp; |
89 | // gEngfuncs.Con_Printf( "Rad x4 = %f, y4 = %f, z4 = %f\n", x, y, z); |
91 | gEngfuncs.pTriAPI->TexCoord2f( 1, 0 ); |
92 | gEngfuncs.pTriAPI->Vertex3f( org.x + x, org.y + y, org.z + z ); |
95 | gEngfuncs.pTriAPI->End(); |
Sorry bad english
__________________
hl 4 ever
Сообщить модератору | IP: Записан
Сообщение: 105953
|