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.


Pokaż wątki - Pawel1503

Strony: [1] 2 3 4 5
1
OpenGL / Błąd 1282 - co jest grane?
« dnia: Sierpień 06, 2012, 20:17:48 »
Dzisiaj, pisząc aplikację OpenGL'ową, napotkałem się na dziwny problem. Otóż, gdzie nie wstawię glGetError (nawet bezpośrednio po main(), zmienna zawsze wyniesie wartość 1282. Na forach polecają zaktualizowanie sterowników - zainstalowałem u siebie (GeForce v301.42 (karcia to GeForce 550 Ti) ale niestety to nic nie pomogło. Błąd jak był, tak jest dalej.

Co mogę z tym zrobić? Może w ogóle nie zaprzątać sobie tym głowy (wpływa on jakoś na działanie całej aplikacji?).

Pozdrawiam!

EDIT: Pomyłka, to nie były jednak najnowsze stery. Zaraz zainstaluje i zobaczę co się stanie.
EDIT2: Najnowsze zainstalowane, ale efektu dalej nie ma. Jakieś sugestie?

2
Irrlicht / Irrlicht, problem z metodą getPosition()
« dnia: Marzec 21, 2012, 16:59:51 »
Błąd jest na 85% spowodowany brakiem wiedzy na temat szablonów, ale nie mam teraz za bardzo chęci ani czasu żeby zgłębiać to zagadnienie. Dlatego proszę was o małą pomoc.

Otóż próbuję pobrać aktualną pozycję kamery:

core::stringw debugInfo;
debugInfo = mSceneManager->getActiveCamera()->getPosition().X; // X podkreślone na czerwono: #define X 70, expected a member name.

Natomiast w logu jest coś takiego:

Cytuj
game.cpp(77): error C2059: syntax error : 'constant'
game.cpp(78): error C2039: 'mDebugInfo' : is not a member of 'irr::core::vector3d<T>'
1>          with
1>          [
1>              T=irr::f32
1>          ]

Szukałem po googlu i po examplach z sdk. W jednym z przykładów znalazłem str.append(core::stringw(cam->getPosition().X)); które... również nie działa.

Czuje się jak ostatni lamer ale trudno :( Pozdrawiam !

3
Szkółka / Box2D, jak to jest w końcu z tymi jednostkami ?
« dnia: Luty 06, 2012, 19:14:14 »
Dawno tu nic nie pisałem więc witam ponownie :)

Ostatnio piszę gierkę w której wykorzystuje silnik fizyczny Box2D. Od razu powiem że wykorzystuje wersje 2.0.1, trochę starą, ale to najwyższa, jaką mogłem skompilować pod VC2008 ( a tego muszę używać ). Do tej pory jakoś udawało mi się rozwiązać większość problemów, ale stanąłem przed pewną barierą.

Otóż wiem, że Box2D wykorzystuje zamiast pikseli metry. Mam tylko jedno proste pytanie: jak ustawić ile pikseli przypada na jeden metr. Szukałem po forach, nic rozsądnego nie znalazłem. W pliku b2Settings nie znalazłem czegoś, co powinno być według jakiegoś topiku z forum a mianowicie czegoś takiego jak b2UnitsPerMeter (jakoś tak, nie pamiętam dokładnie). Zapewne wynika to ze starszej wersji silnika.

A jeśli nie można ustawić (w co wątpię) to mógłbym się chociaż dowiedzieć jaki jest domyślny współczynnik żeby można było sobie ładnie przeskalować.

Pozdrawiam !

4
Programowanie grafiki / Kompilacja pod linuxa.
« dnia: Listopad 23, 2011, 13:56:55 »
Hej !

Od dawna próbuje skompilować mojego Hydraulika tak żeby chadzał na linuxie. Próbując skompilować w taki sposób:

g++ -c main.cpp

mam masę powtarzających się błędów:

error: ‘sf::Event::MouseButton’ is not a class or namespace
error: converting to execution character set: Błędny lub niepełny znak wielobajtowy

I teraz pytanie do Was: co z tym zrobić ? Google za bardzo nic nie mówi na ten temat. Na windowsie wszystko ładnie się kompilowało. Ja wiem, że windows to nie linux ale po raz pierwszy to robię :)

Pozdrawiam !!!

5
Projekty zaawansowane / Hydraulik 1.0
« dnia: Listopad 12, 2011, 13:56:06 »
Hej :)

Postanowiłem sobie kiedyś że gdy już wydam pełną wersję Hydraulika, zamieszczę ją na forum. Dlatego chciałbym przedstawić go wszystkim, którzy jeszcze nie mieli z nim styczności :)

Opis:
Hydraulik to prosta gra logiczna polegająca na układaniu rur. Celem gry jest ułożenie ich w taki sposób żeby woda przepłynęła z pompy do celu - oczywiście nie rozlewając się nigdzie po drodze. Na wykonanie zadania mamy określoną ilość czasu - po jego upłynięciu, woda zacznie płynąć - nawet jeśli rurociąg jest nieułożony :). Do wyboru mamy 7 typów rur. Gra składa się z czterech etapów. Tabela z poziomami trudności i czasami w profilu gry na warsztacie.

Sterowanie:
  • Spacja - przyspieszenie płynięcia wody
  • X - zmniejszenie czasu do 5 sekund

Strona domowa:
http://pawel1503.cba.pl
Projekt na warsztacie: http://warsztat.gd/projects.php?x=view&id=2247

Link do pobrania: http://pawel1503.cba.pl/pliki/hydraulik v1.0.rar - na razie tylko pod Windowsa, ale w najbliższym czasie postaram się też skompilować grę pod Linuxa :).

Pozdrawiam ! Pawel1503

EDIT: Więcej screenów na devBlogu ;).

6
Szkółka / Dziwny problem z eventami - SFML
« dnia: Październik 09, 2011, 00:24:47 »
Hej !

Pisząc mojego hydraulika, natknąłem się na dziwny problem z eventami. Otóż korzystam ze standardowego szablonu:

while(true)
{
sf::Event mEvent;
mApp.mWindow.Clear();
if(mApp.mWindow.GetEvent(mEvent))
{
if(mEvent.Type==sf::Event::Closed)
{
mApp.mWindow.Close();
break;
}
}
mApp.mWindow.Display();
}

I pojawia się problem, a właściwie dwa które są ze sobą związane:
  • Gdy aplikacja się uruchamia, a mysz jest poza oknem, okno się zamyka i koniec.
  • Gdy jednak się uruchomi, i klikniemy gdzieś w okno równocześnie go uaktywniając, często również się wyłącza. Trzeba wtedy kliknąć najpierw w belkę, a dopiero potem w uaktywnione okno. Dalej działa już poprawnie. Jeśli ktoś chce zobaczyć jak to w praktyce wygląda to polecam ściągnąć bete hydraulika - tam ten błąd bardzo dobrze widać :)
Jak takie coś naprawić ?

Pozdrawiam ! Pawel1503

7
Szkółka / WinSock - problem z funkcją select
« dnia: Wrzesień 18, 2011, 16:14:24 »
Witam !

Ostatnio bawię się Socketami i napotkałem pewien problem z selectem. Otóż mamy w serwerze taki kod:

fd_set tmpClient;
FD_ZERO (&tmpClient);
FD_SET(mServer,&tmpClient);

if(select(mServer,&tmpClient,0,NULL,NULL) != SOCKET_ERROR )
{
for (unsigned int i = 0; i < mClients.size(); i ++ )
{
if (FD_ISSET(mClients[i], &tmpClient) )
{
std::cout << "Klient wysłał wiadomość !!!" << std::endl;
}
}
if ( FD_ISSET(mServer, &tmpClient) )
{
SOCKET client = accept(mServer,NULL,NULL);
mClients.push_back (&client);
std::cout << "Uwaga uwaga, nowy klient..." << std::endl;
}
}

Gdy klient łączy się, wszystko działa prawidłowo, select wykrywa to i dodaje do wektora socket klienta. Problem zaczyna się, gdy klient zaczyna coś wysyłać. Tutaj serwer za Chiny nie może tego zobaczyć. Gdy spróbowałem odebrać wiadomość normalnym recv, wszystko jest okay. Niestety coś źle zrobiłem i select tego nie widzi. Co robię źle ?

Pozdrawiam ! Pawel1503

8
Szkółka / glDrawArray i unhandled exception :(
« dnia: Czerwiec 27, 2011, 19:04:08 »
Witam!

Drugi dzień meczę się nad jednym problemem związanym z glDrawArray. Otóż na początku tworze sobie VBO:

glGenBuffersARB(1, &vboId);
glBindBuffer(GL_ARRAY_BUFFER, vboId);
glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat) * 3 * mMeshStruct.size(), &mMeshStruct[0], GL_STATIC_DRAW);

Następnie ładuje sobie model (w tym wypadku prosty box żeby nie utrudniać sprawy) w taki sposób, że mam wektor z poszczególnymi obiektami struktury MeshStruct:

struct MeshStruct
{
GLfloat x,y,z;
};

Żadnych indeksów, po prostu wektor z kolejnymi wierzchołkami. I teraz gdy próbuje narysować tego mojego boxa:

glBindBuffer(GL_ARRAY_BUFFER, vboId);
glEnableClientState(GL_VERTEX_ARRAY);
glDrawArrays(GL_TRIANGLES, 0, mMeshStruct.size() / 3);
glDisableClientState(GL_VERTEX_ARRAY);

Przy glDrawArray wywala mi unhandled exxeption. glError nie wskazuje na żaden błąd, wektor z danymi boxa jest poprawnie załadowany. Gdzie może być błąd ?

Pozdrawiam !!!
      

9
Szkółka / Irrlicht - problem z widocznością mesha i urządzeniem
« dnia: Czerwiec 16, 2011, 17:58:19 »
Witam !

Sprawa wygląda tak: ładuje sobie na scenę jeden mesh i go wyświetlam. Na pierwszy rzut oka wszystko jest okej - niestety, gdy próbowałem do niego bliżej 'podlecieć' - znikał mi. Wyczytałem gdzieś na forum, że pomaga zmiana urządzenia na EDT_OPENGL lub EDT_DIRECT3D9. Zrobiłem tak, ale pojawił się nowy problem pod tytułem: nic nie widać. Wie ktoś może o co chodzi ?

Kodzik do podglądu:

#include <irrlicht.h>
#include "MyEventReceiver.h"

using namespace irr;

using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;

MyEventReceiver mEvent;

int main()
{

IrrlichtDevice *device = createDevice(EDT_DIRECT3D9, dimension2d<u32>(1024, 786), 32, false, false, false, &mEvent);

IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();
IGUIEnvironment* guienv = device->getGUIEnvironment();

IAnimatedMesh* mesh = smgr->getMesh("Models/ground.x");

IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );

scene::ICameraSceneNode * kam = smgr->addCameraSceneNodeFPS(0,50,0.07);
kam->setPosition( core::vector3df( 0, 0, - 100 ) );
kam->setFarValue( 90000 );


device->getCursorControl()->setVisible( false );

while(device->run())
        {
driver->beginScene(true, true, SColor(255,0,0,0));

            smgr->drawAll();
            guienv->drawAll();

driver->endScene();
        }
        device->drop();

        return 0;
}

Pozdrawiam !!!

10
Szkółka / Problem z include i klasami
« dnia: Czerwiec 11, 2011, 21:28:04 »
Witam !

Pisząc sobie mały silnik w DirectX'ie napotkałem na problem. Otóż załóżmy że mam klasę CoreEngine, Window i Mesh:

CoreEngine:
#ifndef CORE_ENGINE_H
#define CORE_ENGINE_H

#include <d3dx9.h>
#include "Window.h"
#include "Mesh.h"
...

Window:
#ifndef WINDOW_H
#define WINDOW_H

#include <vector>
#include "CoreEngine.h"
...

Mesh:
#ifndef MESH_H
#define MESH_H

#include "CoreEngine.h"
...

Jak na razie jest ok. Problem zaczyna się, jak do Window dodaje vector ze wskaźnikami na Mesh. Kompletnie nie wiem dlaczego, ale przy komplacji powstaje cała masa błędów np.

error C2065: 'Mesh' : undeclared identifier
error C2059: syntax error : '>'
fatal error C1903: unable to recover from previous error(s); stopping compilation

itp. łącznie grubo ponad 50 z każdego pliku po troche.

Wie ktoś może co to powoduje ? Pozdrawiam !!!

11
Webowe / AJAX i pozycjonowanie strony
« dnia: Maj 19, 2011, 15:38:10 »
Witam !

Ostatnio noszę się z napisaniem własnego CMS na konkurs. Chciałem do tego wykorzystać AJAXa. Mniej więcej polegało by to na tym, że mamy index.php z divem main.

<script type="text/javascript" src="main.js"></script>
<body onload="onLoad()">
<div id="main">
</div>
</body>

No i załóżmy wywołujemy funkcję onLoad, która z kolei wysyła asynchroniczne żądanie do serwera:

xmlHttp.open("GET", "main.php", true);
xmlHttp.onreadystatechange = handleServerResponse;
xmlHttp.send(null);

Następnie odbieramy dane i wstawiamy otrzymaną odpowiedź do diva main (wygenerowaną przez main.php).

I teraz pytanie. Czy taki sposób jakkolwiek kwalifikuje się do użycia ? Chodzi mi generalnie o pozycjonowanie, bo z tego co czytałem to GoogleBoty jeszcze nie całkiem sobie radzą z AJAXem. Tym bardziej że w źródłach nie widać kodu wygenerowanego przez main.php tylko samą strukturę (czyli to co mamy w index.php). To samo dotyczy linków, takich jak ten:
<a href="#" onclick="clickLink()">LINK !!!</a>

Pozdrawiam ! Pawel1503

12
Szkółka / Problem z emulatorem Symbiana
« dnia: Maj 08, 2011, 20:20:16 »
Witam !
Zainstalowałem sobie Carbide C++ 3.2 oraz SDK Symbiana dla wersji s60v5. Zacząłem coś pisać, i było dobrze, aż do pewnego razu. Przy kompilacji, do pewnego momentu jest dobrze:

PlatSecEnforcement OFF
PlatSecDiagnostics ON
PlatSecProcessIsolation ON
PlatSecEnforceSysBin ON
PlatSecDisabledCaps NONE
     0.000 Thread 00487468 created @ 0x487468 - Win32 Thread ID 0x1734
     0.000 Thread EKern.exe::Supervisor created @ 0x1311c58 - Win32 Thread ID 0x1198
     0.000 Thread EKern.exe::DfcThread0 created @ 0x13128bc - Win32 Thread ID 0x16cc
     0.000 Thread EKern.exe::DfcThread1 created @ 0x1312cec - Win32 Thread ID 0x126c
     0.000 Thread EKern.exe::TimerThread created @ 0x13133dc - Win32 Thread ID 0x16b0
     0.155 Thread EKern.exe::FlashThread created @ 0x1322130 - Win32 Thread ID 0xbdc
     0.175 Thread EKern.exe::MultiMediaCard0 created @ 0x13232cc - Win32 Thread ID 0x16e8
     0.195 Thread EKern.exe::NandThread created @ 0x132e3b4 - Win32 Thread ID 0x1040
     0.215 Thread EFile.exe::Main created @ 0x132f180 - Win32 Thread ID 0x1374
     0.230 Thread EFile.exe::Local-01331208 created @ 0x13314c8 - Win32 Thread ID 0x11b0
     0.240 Thread EFile.exe::LoaderThread created @ 0x1333158 - Win32 Thread ID 0x143c
     0.255 Thread EFile.exe::StartupThread created @ 0x1333774 - Win32 Thread ID 0xa94
     0.405 Thread E32STRT.EXE::Main created @ 0x13390ec - Win32 Thread ID 0xfcc
     0.435 Thread EFile.exe::Local-0133922c created @ 0x13394ec - Win32 Thread ID 0x17bc
     0.445 Thread EFile.exe::Local-013397e0 created @ 0x1339aa0 - Win32 Thread ID 0x378
     0.480 Thread EFile.exe::InitCompleteThread created @ 0x133be18 - Win32 Thread ID 0xc78
     0.545 Thread HALSettings.exe::Main created @ 0x133c3dc - Win32 Thread ID 0x2dc
     0.585 Thread EFile.exe::Local-0133bd20 created @ 0x133bfe0 - Win32 Thread ID 0x1160
     0.670 Assertion failed: Do not call in ISR context
Function: Kern::HalFunction(TInt, TInt, TAny*, TAny*)
     0.670 Assertion failed: Do not call in ISR context
Function: NKern::LockSystem
     0.670 Assertion failed: Do not call in ISR context
Function: NKern::Lock
     0.670 Assertion failed: Do not call from bare Win32 threads
Function: NKern::Lock
     0.670 Assertion failed: Do not call in ISR context
Function: NKern::Unlock
     0.670 Assertion failed: Do not call from bare Win32 threads
Function: NKern::Unlock
     0.670 Assertion failed: Do not call in ISR context
Function: NKern::Lock
     0.670 Assertion failed: Do not call from bare Win32 threads
Function: NKern::Lock
     0.670 Assertion failed: Do not call in ISR context
Function: NKern::Unlock
     0.670 Assertion failed: Do not call from bare Win32 threads
Function: NKern::Unlock
     0.720 Thread domainSrv.exe::Main created @ 0x133ce34 - Win32 Thread ID 0x360
     1.755 Thread SYSSTART.EXE::Main created @ 0x136dad8 - Win32 Thread ID 0x504
     1.770 [STRT][S]: [TIMESTAMP] (17:12:38.763750 us) Begin S60 startup
     1.965 Thread centralrepositorysrv.EXE::Main created @ 0x133fad8 - Win32 Thread ID 0x12dc
     2.340 [STRT][S]: [INFO]: Adaptation time limit = 30000000 us
     2.340 [STRT][S]: [INFO]: Monitoring time limit = 60 s
     2.340 [STRT][S]: [INFO]: Startup completion time limit = 20 s
     2.375 [STRT][S]: [INFO]: Creating start list from file 'Z:\resource\starter.RSC'
     2.375 [STRT][S]: [INFO]: Initializing Feature Manager
     2.520 Thread FeatMgrServer.exe::Main created @ 0x133ffd4 - Win32 Thread ID 0x1628
     2.880 Thread ecomserver.EXE::Main created @ 0x1340b9c - Win32 Thread ID 0x158c
   

Tutaj zatrzymuje się na dłuższą chwilę i potem jest:

30.450 ** ECOM: error Impl UID 2A, I/F UID 101F8650 DLL Editor Base Provider duplicating I/F 101F8652 DLL Edit Menu Provider
    30.455 ** ECOM: error Impl UID 10281F96, I/F UID 101F8650 DLL Rotator Base Provider duplicating I/F 101F8652 DLL Rotator Menu Provider

Po kilkudziesięciu sekundach pojawia się w końcu sam emulator, z tym że wciąż miga, jednym słowem jest taki, jak na screenie. Gdzieś wyczytałem że może pomóc wyłączenie DEP - niestety nie pomaga. Reinstalacja SDK też nie pomogła.

Windows 7

Pozdrawiam ! Pawel1503

13
Szkółka / SFML - jak to jest z licencją ?
« dnia: Kwiecień 27, 2011, 20:44:13 »
Witam !

Chciałbym się zapytać, czy biblioteki które używa SFML, są dostępne do darmowego użytku komercyjnego bez udostępniania źródeł.

Pozdrawiam ! Pawel1503

14
Szkółka / Niesamowicie wolny FPS - SFML
« dnia: Kwiecień 15, 2011, 17:01:52 »
Witam !

Ostatnio kodzę sobie pewną grę (SFML) i napotkałem dość spory problem. Otóż z niewiadomych przyczyn, 9 na 10 uruchomień gry, FPS ma wartość około 2. Jednak czasami gra ma przebłyski i chodzi normalnie (tj. u mnie 32 FPS). Kompilacja i run w trybie debug. Kod raczej na 100% nie powoduje takiego błędu. O co tu chodzi :P ?

Jeśli ma to coś pomóc: moja karcia: GeForce 9800 GTX, drivery: v266.58.

Pozdrawiam !

15
Szkółka / Assembler - .model
« dnia: Kwiecień 05, 2011, 21:45:49 »
Tak wiem, nie mam co robić...

Otóż postanowiłem bliżej przyjrzeć się assemblerowi. Po wielu walkach z kompilatorami (bardziej bym tu powiedział komplikatorami) udało mi się uruchomić Flat Assembler. Super. Następnie skopiowałem przykładowy kod:

.model tiny
.code
 
start:
  mov ah,4ch
  int 21h
 
  .stack 512

end start

I co ? I lipa. Kompilator krzyczy illegal instruction w pierwszej linijce. WTF ?
Kompletnie nie znam assemblera więc nie wiem dlaczego tak się dzieje. Ktoś pomoże ? :)

Pozdrawiam !

Strony: [1] 2 3 4 5