WhatsApp Discord
Source takumi12 - Imagen Circular - Source Mu - Mu Server Files
 

Noticias:

SMF - Just Installed!

Menú principal

Source takumi12 - Imagen Circular

Publicado por Dakosmu, Mayo 07, 2023, 07:21 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Dakosmu

Source takumi12 - Imagen Circular

bueno esto habia dicho que no lo iba a compartir nunca, pero ya todos lo tienen gracias a las personas a las que le comparti ciertas cosas, y al final como siempre las terminan compartiendo hasta con su madre, esto ya no es novedad y es algo que esta al alcance de muchos, los unicos que lo teniamos era louis y yo, y eso era algo muy pro en su momento, porque es algo que muchos quisieron hacer y se quedaron atascados... saludos nemesis por si miras este post. aqui les dejo las capturas de como se mira una imagen con el vortice redondo. espero que les ayude.

Regístrate para ver el enlace
Regístrate para ver el enlace


Codigo
#define    Q_PI                                        3.14159265358979323846f
#define ConvertX                            ((float(__cdecl*)(float x)) 0x00636420)
#define Converty                            ((float(__cdecl*)(float y)) 0x00636450)
#define WindowWidth                                    *(GLsizei*)0x00E61E58
#define WindowHeight                                *(GLsizei*)0x00E61E5C
#define BindTexture                                    ((bool(__cdecl*)(int a1)) 0x00635CF0)

GLvoid CRenderBitmapCircle(int Texture,float x,float y,float Radius ,float u,float v,float uWidth,float vHeight,bool Scale,bool StartScale,float Alpha)
{
    GLuint vertexcount; // ST1C_4@5
    float var_radius2; // ST1C_4@5
    GLfloat var_angle; // ST1C_4@5
    GLfloat TextureCoord[2]; // [sp+2Ch] [bp-40h]@5
    GLfloat VertexCoord[4]; // [sp+4Ch] [bp-20h]@5
   
    x = x + Radius;
    y = y + Radius;

    if ( Scale )
    {
        x = ConvertX( x );
        y = ConvertY( y );
    }

    if ( StartScale )
    {
        var_radius2 = ConvertY( Radius );
        Radius = ConvertX( Radius );
    }

    y = (double)(unsigned int)WindowHeight - y;

    vertexcount = 20;
    var_angle = 2.0 * Q_PI / vertexcount;

    BindTexture( Texture );

    glBegin( GL_TRIANGLE_FAN );

    if ( Alpha > 0.0 )
        glColor4f(1.0, 1.0, 1.0, Alpha);
    TextureCoord[0] = u;
    TextureCoord[1] = v;
    glTexCoord2fv(TextureCoord);
    //--
    VertexCoord[0] = x;
    VertexCoord[1] = y;
    VertexCoord[2] = 0.0;
    VertexCoord[3] = 1.0;
    glVertex4fv(VertexCoord);

    for(int i = 0; i < vertexcount ; i++)
    {
        TextureCoord[0] = (std::cos(var_angle * i) * uWidth) + u;
        TextureCoord[1] = (std::sin(var_angle * i) * vHeight) + v;
        glTexCoord2fv(TextureCoord);
        VertexCoord[0] = (std::cos(var_angle * i) * Radius) + x;
        VertexCoord[1] = (std::sin(var_angle * i) * -var_radius2) + y;
        VertexCoord[2] = 0.0;
        VertexCoord[3] = 1.0;
        glVertex4fv(VertexCoord);
    }
    //--
    TextureCoord[0] = uWidth + u;
    TextureCoord[1] = v;
    glTexCoord2fv(TextureCoord);

    VertexCoord[0] = Radius + x;
    VertexCoord[1] = y;
    VertexCoord[2] = 0.0;
    VertexCoord[3] = 1.0;
    glVertex4fv(VertexCoord);

    if ( Alpha > 0.0 )
        glColor4f(1.0, 1.0, 1.0, 1.0);

    glEnd();
}
Bon Dia

🡱 🡳
Real Time Web Analytics