Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - Rect Code

Strony: [1] 2 3 4 5 6
1
OpenGL / Kamera TPP....
« dnia: Grudzień 15, 2011, 22:44:49 »
Otóż mam problem z kamerą TPP(już nie pierwszy raz ;p),miałem małą przerwę w programowaniu i przez przypadek usunąłem sporo kodów źródłowych z mojego Frameworka.
I teraz nie mogę zrobić kamery którą dawno miałem już napisaną,i tutaj fajnie by było gdyby ktoś rozgryzł ten mój pokręcony kod,i powiedział co źle robię w tej kamerze,tu kod klasy pojazdu:
#include "Sprite.hpp"
enum GearboxMode
{
GM_RUN1,
GM_RUN2,
GM_RUN3,
GM_RUN4,
GM_RUN5,
GM_RETROGRADE
};
enum ControlMode
{
CM_WSAD,
CM_ARROW
};
class VOCar
{
public:
Vector3 Position;
Vector3 Rotation;
Vector3 Scale;
Vector3 CamRotation;
Vector3 Velocity;
Vector3 Acceleration;
Vector4 DistributionMass;
float Mass;
float GorwingAcc;
float DecreasesAcc;
float RadiusKink;
bool breake;
bool throttle;
Uint8 * keystate;
GearboxMode Gear;
VOModel* body;
VOModel* wheel;
public:
float Speed;
VOCar(float mass)
{
 Mass = mass;
 DistributionMass.x = mass/2;
 DistributionMass.y = mass/2;
 DistributionMass.z = mass/3;
 DistributionMass.w = mass/3;
 Position.x = 0;
 Position.y = 0;
 Position.z = 0;
 Rotation.x = 0;
 Rotation.y = 0;
 Rotation.z = 0;
 Scale.x = 1;
 Scale.y = 1;
 Scale.z = 1;
 Velocity.x = 1;
 Velocity.y = 0;
 Velocity.z = 1;
 Acceleration.x = 0;
 Acceleration.y = 0;
 Acceleration.z = 0;
 CamRotation.x = 0;
 CamRotation.y = 0;
 CamRotation.z = 0;
 RadiusKink = 1.0f;
 keystate = GetKeyState(0);
 breake = false;
 throttle = false;
 Gear = GM_RUN1;
}

void SetGorwingValueAcceleration(float acceleration)
{
GorwingAcc = acceleration;
}
void SetDecreasesValueAcceleration(float acceleration)
{
acceleration = DecreasesAcc;
}
void SetRadiusKink(float r)
{
RadiusKink = r;
}
void SetGearboxMode(GearboxMode GB)
{
Gear = GB;
}
void SetRotation(Vector3 rotation)
{
Rotation.x = rotation.x;
Rotation.y = rotation.y;
Rotation.z = rotation.z;
}
void SetScale(Vector3 scale)
{
Scale.x = scale.x;
Scale.y = scale.y;
Scale.z = scale.z;
}
void SetPosition(Vector3 position)
{
Position.x = position.x;
Position.y = position.y;
Position.z = position.z;
}
void SetVelocity(Vector3 velocity)
{
Velocity.x = velocity.x;
Velocity.y = velocity.y;
Velocity.z = velocity.z;
}
void SetModelBody(char* filename)
{
body = new VOModel;
body->LoadOBJ(filename);
}
void SetTextureBody(char* filename)
{
VOTexture* T = new VOTexture;
T->Load(filename,0,VNT_NORMAL);
body->setTexture(T);
}
void Gas()
{
throttle = true;
}
void ReleaseGas()
{
throttle = false;
}
void Brake()
{
breake = true;
}
void ReleaseBrake()
{
breake = false;
}
void Update()
{
    body->setPosition(Vector3(Position.x,Position.y,Position.z));
   // wheel->setPosition(Vector3(Position.x,Position.y,Position.z));
    body->setRotate(Vector3(0,Rotation.y,0));
    //wheel->setRotate(Vector3(0,Rotation.y,0));
    Position.x -= sin((M_PI*(Rotation.y))/180)*Acceleration.x;
    Position.z -= cos((M_PI*(Rotation.y))/180)*Acceleration.z;
    if(breake)
    {
    if(Acceleration.x < 0)
    {
    Acceleration.x ++;
    Acceleration.z ++;
    }
    if(Acceleration.x > 0)
    {
    Acceleration.x --;
    Acceleration.z --;
    }
    }
    if(Rotation.y > 360)
    Rotation.y = 0;
    if(Rotation.y < 0)
    Rotation.y = 360;
}
void Input()
{
    if(keystate[VNK_S])
    {
    Acceleration.x += GorwingAcc;
    Acceleration.z += GorwingAcc;
    }
    if(keystate[VNK_W])
    {
    Acceleration.x -= GorwingAcc;
    Acceleration.z -= GorwingAcc;
    }
    if(keystate[VNK_A])
    {
    Rotation.y += RadiusKink;
    if(keystate[VNK_W] || keystate[VNK_S])
    {
    CamRotation.y += 0.1;
    }
    }
    if(keystate[VNK_D])
    {
    Rotation.y -= RadiusKink;
    if(keystate[VNK_W] || keystate[VNK_S])
    {
    CamRotation.y -= 0.1;
    }
    }
    if(!keystate[VNK_W] && !keystate[VNK_S])
    {
    if(Acceleration.x > 0)
    {
    Acceleration.x -= DecreasesAcc;
    }
    if(Acceleration.z > 0)
    {
    Acceleration.z -= DecreasesAcc;
    }
    if(Acceleration.x < 0)
    {
    Acceleration.x += DecreasesAcc;
    }
    if(Acceleration.z < 0)
    {
    Acceleration.z += DecreasesAcc;
    }
    }
}
void Draw()
{
body->Draw();
//wheel->Draw();
}

};
Taaa,wiem zakręcone.
Jak kompluje to mi samochód gdzieś zwiewa a ja stoje prawie że w miejscu.
Kod kamery:
#include "Vehicle.hpp"
class VOCameraTPP
{
public:
    VOCameraTPP()
    {

    }

    void SynchronizateFromCar(VOCar* car)
    {
        Car = new VOCar(1200);
        Car->Position.x = car->Position.x;
        Car->Position.y = car->Position.y;
        Car->Position.z = car->Position.z;
        Car->Acceleration.x = car->Acceleration.x;
        Car->Acceleration.z = car->Acceleration.z;
        Car->Rotation.x = car->Rotation.x;
        Car->Rotation.y = car->Rotation.y;
        Car->Rotation.z = car->Rotation.z;
    }
    void Update(float tx,float ty,float tz,float r,float ao)
    {
glTranslatef(0, -0,0);
glRotatef(-Car->Rotation.x, 0, 1, 0);
//glRotatef(-Car->Rotation.y, 0, 1, 0);
//glRotatef(-Car->Rotation.z, 0, 1, 0);
glTranslatef(-Car->Position.x, -Car->Position.y, -Car->Position.z);

    }
private:
    VOCar *Car;

};


2
Szkółka / Odp: Zatrzymymanie losowania liczb pseudolosowych?
« dnia: Lipiec 18, 2011, 14:38:21 »
int x = 0;
srand((int) time (NULL));
while(1)
{
x=rand() % 100 + 1;
Sleep(1000);
}
?

3
OpenGL / Odp: Smugi na teksturze
« dnia: Czerwiec 28, 2011, 20:45:45 »
Dzięki za naprowadzenie na trop,włączyłem Backface culling i działa ,dzięki (:

4
OpenGL / Odp: Smugi na teksturze
« dnia: Czerwiec 28, 2011, 17:55:48 »
Tak,są.

5
OpenGL / Odp: Smugi na teksturze
« dnia: Czerwiec 28, 2011, 16:27:52 »
Cały teren jest złożony z trójkątów...

6
OpenGL / Smugi na teksturze
« dnia: Czerwiec 28, 2011, 16:01:49 »
Witam,

otóż wczytałem sobie mały teren(model)ale pojawiają się jakieś dziwne smugi,jak na zdjęciu:
http://tinypic.pl/zthc4e100wfh
Oświetlenie jest wyłączone.
Jak będzie trzeba to dam kod.
Co może być powodem?
Z góry dzięki (:

7
Matematyka i fizyka / Odp: Kamera TPP
« dnia: Czerwiec 24, 2011, 21:50:31 »
Ponawiam temat.

8
Matematyka i fizyka / Kamera TPP
« dnia: Czerwiec 24, 2011, 15:08:51 »
Witam,

chciałem napisać kamerę TPP,ale wyszło mi coś a'la trzymanie przedmiotu w ręku.
Kod:
class VOCameraTPP
{
public:
VOCameraTPP()
{

}

void SynchronizateFromCar(VOCar* car)
{
 Car = new VOCar(1200);
 Car->Position.x = car->Position.x;
 Car->Position.y = car->Position.y;
 Car->Position.z = car->Position.z;

 Car->Rotation.x = car->Rotation.x;
 Car->Rotation.y = car->Rotation.y;
 Car->Rotation.z = car->Rotation.z;
}
void Update(float tx,float ty,float tz,float r,float ao)
{
glTranslatef(0, 0, -r);
glRotatef(-Car->Rotation.y-ao, 0, 1, 0);
glTranslatef(-Car->Position.x+tx,-Car->Position.y+ty, -Car->Position.z+tz);
}
private:

VOCar *Car;

};

Więc moje pytanie brzmi czy to jest poprawna kamera TPP,a jeśli nie to co poprawić?

9
Programowanie grafiki / Odp: 2D w OpenGL?
« dnia: Czerwiec 21, 2011, 12:55:03 »
W zasadzie w OGL możesz zrobić wszystko to co w np.allegro 5 , a nawet więcej .
ustawiasz macierz 2D (glOrtho)
rysujesz używając glVertex2f
a kolizja per pixel to nie shadery wystarczy że masz przelicznik 0.01 wsp. OGL'a(chyba) to 1pix

10
DirectX / Odp: Jak wyświetlić text 2d w trójwymiarowym świecie.
« dnia: Czerwiec 17, 2011, 19:29:06 »
Rysuj tekst 3D i ustawiaj ortogonalną macierz projekcji.

11
Szkółka / Odp: Edytor do silnika - biblioteka
« dnia: Czerwiec 15, 2011, 22:08:16 »
O dzięki (;

13
Szkółka / Odp: Edytor do silnika - biblioteka
« dnia: Czerwiec 15, 2011, 21:41:59 »
W wxFormBuilder są tylko sizery chyba,przynajmniej w piksach nie wyczaiłem jeszcze.
Ale jak się o wX więcej poczyta to nawet ,nawet (;

14
Szkółka / Odp: Edytor do silnika - biblioteka
« dnia: Czerwiec 15, 2011, 21:09:21 »
W zasadzie w Qt przynajmniej mam maina i nie ma 2000 makr.
w wx w ogóle są jakieś porąbane ustawienia pozycji kontrolek :P.
Ale zobacze może wX (:

Edit:

A jest jakiś plugin do Qt Creatora do ludzkiego dołączanie libów ?

15
Szkółka / Edytor do silnika - biblioteka
« dnia: Czerwiec 15, 2011, 20:30:24 »
Witam,

jestem w trakcie(na początku) pisania do mojego małego silniczka edytora.
Aktualnie pisze pod WinApi do tej pory jest 1,2k lini kodu.
Zastanawiam się czy nie przepisać pod coś innego typu : wxWidgets,Qt,GTK.
W Qt troche kodziłem.
Wx tylko żeby zobaczyć jak to wygląda.
Z GTK nie miałem styczności.
Co polecacie?

Strony: [1] 2 3 4 5 6