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 - MofC

Strony: [1]
1
Szkółka / [C++]Problem z string i nowym Visual Studio
« dnia: Luty 09, 2018, 00:52:01 »
Witam!
Zmieniłem ostatnio IDE z Visual Studio 2015 na 2017 i przeniosłem mój projekt który od dłuższego czasu męczę. W starszym środowisku wszystko działało dobrze ale w nowym mam problem ze stringami. Otóż przy przepisywaniu jednej zmiennej do drugiej wychodzą błędne znaki. Obie zmienne są typem string.

void cGraph::LoadGraph(std::string name, std::string path)
{
[…]
GraphContainer[i].IDname = name;
}

Po operacji ilość znaków w ciągu IDname jest taka sama jak name ale znaki są od razu całkiem inne.
Sprawdzałem debugerem i name do samego przypisania ma prawidłowe dane. Windows SDK mam ustawione na 10.0.16299.0 a zestaw narzędzi na v141. Proszę o pomoc bo nie mam pomysłu co to może być.

2
SDL / [SOLVED]SDL 2 Tekstury wychodzące poza ekran
« dnia: Luty 28, 2016, 19:52:34 »
Witam!
Piszę projekt na zaliczenie z programowania w C/C++. Wybrałem bibliotekę SDL 2 bo z jedynką miałem już wiele wspólnego i dość dobrze ją znam. Postanowiłem że skoro druga wersja sdl'a wykorzystuje renderowanie sprzętowe to grzechem byłoby tego nie wykorzystać. Jednak tu pojawia się problem którego w jedynce nie było. Gdy jedna ze współrzędnych wychodzi na minus, poza ekran, to zamiast po prostu uciętej tekstury mam spłaszczoną. 

Słaby jestem w tłumaczeniu o co Mi chodzi więc wrzucam zrzuty ekrany.




Metoda odpowiadająca za rysowanie:
void cGraph::DrawGraph(std::string name, struct color colormod, SDL_Rect* Dest)
{
int i=0;

while (GraphContainer[i].IDname != name)
{
i++;
}

SDL_SetTextureColorMod(GraphContainer[i].texture, colormod.red, colormod.green, colormod.blue);

SDL_RenderCopy(Renderer, GraphContainer[i].texture, NULL, Dest);

}

Mam nadzieję że to wystarczy. Proszę o pomoc.

3
Audio / Program do tworzenia muzyki
« dnia: Październik 28, 2015, 21:34:51 »
Witam!

Postanowiłem spróbować moich sił w komponowaniu muzyki do gier. Chciałem zapytać jakich narzędzi, programów używacie do tworzenia muzyki ? Chodzi mi o programy którymi tworzy się muzykę nuta po nucie, bez potrzeby nagrywania czegokolwiek w studiu. Może znacie jakieś programy w których muzykę edytuję się na pięciolinii ? Coś jak Guitar Pro. Proszę o propozycję komercyjnych i darmowych narzędzi, choć bardziej mi zależy na tych drugich ;) Z góry dziękuje za pomoc.

P.S. Mam nadzieję że dałem post do dobrego działu.

4
Językoznawstwo / Pierwsze zajęcia z assemblera
« dnia: Marzec 11, 2015, 22:08:07 »
Witam!
Ostatnio przeżyłem niemały szok na studiach za sprawą pierwszych labolatoriów z Architektury Systemów Komputerowych. Otóż trzeba było sprawdzić ile taktów zajmuje procesorowi przeniesienie wartości z różnych miejsc( pamięć, rejestry) różnych wielkości. Nie mieliśmy wcześniej nic z assemblera a z instrukcji niewiele się dowiedziałem.

http://hector.tu.kielce.pl/przedmioty/ask-lab/ask-lab-0102.html

Byłbym bardzo wdzięczny gdyby ktoś wytłumaczył mi jeszcze jak dodawać o odejmować liczby większe od 32 bitów (większe od pojemności rejestrów)

5
DirectX / Zła kolejność rysowania
« dnia: Marzec 02, 2014, 20:28:40 »
Cześć, mam kolejny problem z DirectXem. Polega on na tym że DirectX rysuje moje prymitywy w kolejności odwrotnej do kolejności wypełniania bufora. Wywołując metodę DrawIndexed dla każdego obiektu osobno kolejność jest poprawna tj. obiekty rysowane wcześniej są zasłaniane przez te rysowanego później. Bufor głębokości jest wyłączony. Zauważyłem że jeżeli poprzestawiam coś w depthBufferDesc,  metoda CreateDepthStencilView zwraca błąd ale program działa dalej i kolejność rysowania jest poprawna.

DepthBufor:
D3D11_TEXTURE2D_DESC depthBufferDesc;
ZeroMemory(&depthBufferDesc, sizeof(depthBufferDesc));

// Set up the description of the depth buffer.
// Set up the description of the depth buffer.
depthBufferDesc.Width = Width;
depthBufferDesc.Height = Height;
depthBufferDesc.MipLevels = 1;
depthBufferDesc.ArraySize = 0;
depthBufferDesc.Format = DXGI_FORMAT_D24_UNORM_S8_UINT;
depthBufferDesc.SampleDesc.Count = 1;
depthBufferDesc.SampleDesc.Quality = 0;
depthBufferDesc.Usage = D3D11_USAGE_DEFAULT;
depthBufferDesc.BindFlags = D3D11_BIND_DEPTH_STENCIL;
depthBufferDesc.CPUAccessFlags = 0;
depthBufferDesc.MiscFlags = 0;

// Create the texture for the depth buffer using the filled out description.
d3d11Device->CreateTexture2D(&depthBufferDesc, NULL, &depthStencilBuffer);


//Describe our Depth/Stencil Buffer
D3D11_DEPTH_STENCIL_DESC depthStencilDesc;

depthStencilDesc.DepthEnable = false;
depthStencilDesc.DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL;
depthStencilDesc.DepthFunc = D3D11_COMPARISON_LESS;
depthStencilDesc.StencilEnable = false;
depthStencilDesc.StencilReadMask = 0xFF;
depthStencilDesc.StencilWriteMask = 0xFF;
depthStencilDesc.FrontFace.StencilFailOp = D3D11_STENCIL_OP_KEEP;
depthStencilDesc.FrontFace.StencilDepthFailOp = D3D11_STENCIL_OP_INCR;
depthStencilDesc.FrontFace.StencilPassOp = D3D11_STENCIL_OP_KEEP;
depthStencilDesc.FrontFace.StencilFunc = D3D11_COMPARISON_ALWAYS;
depthStencilDesc.BackFace.StencilFailOp = D3D11_STENCIL_OP_KEEP;
depthStencilDesc.BackFace.StencilDepthFailOp = D3D11_STENCIL_OP_DECR;
depthStencilDesc.BackFace.StencilPassOp = D3D11_STENCIL_OP_KEEP;
depthStencilDesc.BackFace.StencilFunc = D3D11_COMPARISON_ALWAYS;

hr = d3d11Device->CreateDepthStencilState(&depthStencilDesc, &depthStencilState);
CheckError(hr,"CreateDepthStencilState");

hr = d3d11Device->CreateDepthStencilView(depthStencilBuffer, NULL, &depthStencilView);
CheckError(hr,"CreateDepthStencilView");

//Create our Render Target
hr = d3d11Device->CreateRenderTargetView( BackBuffer, NULL, &renderTargetView );
CheckError(hr,"CreateRenderTargetView");


//Set our Render Target
d3d11DevCon->OMSetRenderTargets( 1, &renderTargetView, depthStencilView );

Proszę o pomoc

6
DirectX / Problem z rysowanie quadów
« dnia: Marzec 01, 2014, 15:54:41 »
Cześć, postanowiłem sobie napisać prosty moduł do generowania grafiki 2D w DirectX 11, używając  quadów. Wzorowałem się na tym tutorialu http://www.braynzarsoft.net/index.php?p=DX11Lessons z tym że w nim do rysowania prymitywów używany jest statyczny bufor wierzchołków, natomiast Ja używam dynamicznego. Mam zamiar zrobić tak jak w tutorialu Xionahttp://xion.org.pl/productions/texts/coding/game-programming/gfx2d/ tzn. skopiować kilka quadów mających przypisaną tą samą teksturę do bufora i dopiero gdy pojawi się obrazek z inną teksturą, rysować. Na razie umieszczam w buforze dwa obrazki i chce je narysować. I pojawia się problem taki że pierwszy obrazek się nie rysuje :(



Trochę z metody inicjalizującej


Init()
{
        //jakiś kod

QuadIndices[0] = 0;
QuadIndices[1] = 1;
QuadIndices[2] = 2;
QuadIndices[3] = 0;
QuadIndices[4] = 2;
QuadIndices[5] = 3;

QuadIndices[6] = 0;
QuadIndices[7] = 1;
QuadIndices[8] = 2;
QuadIndices[9] = 0;
QuadIndices[10] = 2;
QuadIndices[11] = 3;

inuseTexture=0;
QuadCount=0;

MapType=D3D11_MAP_WRITE_DISCARD;

        D3D11_BUFFER_DESC indexBufferDesc;
ZeroMemory( &indexBufferDesc, sizeof(indexBufferDesc) );

indexBufferDesc.Usage = D3D11_USAGE_DEFAULT;
indexBufferDesc.ByteWidth = sizeof(DWORD) * 12;
indexBufferDesc.BindFlags = D3D11_BIND_INDEX_BUFFER;
indexBufferDesc.CPUAccessFlags = 0;
indexBufferDesc.MiscFlags = 0;

D3D11_SUBRESOURCE_DATA iinitData;

iinitData.pSysMem = QuadIndices;

hr = pd3d11Device->CreateBuffer(&indexBufferDesc, &iinitData, &IndexBuffer);
CheckError(hr,"Create indexBuffer");

pd3d11DevCon->IASetIndexBuffer( IndexBuffer, DXGI_FORMAT_R32_UINT, 0);

//BUFOR WIERZCHOLKOW


ZeroMemory( &vertexBufferDesc, sizeof(vertexBufferDesc) );

vertexBufferDesc.Usage = D3D11_USAGE_DYNAMIC;
vertexBufferDesc.ByteWidth = sizeof( Vertex ) * 40;
vertexBufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER;
vertexBufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
vertexBufferDesc.MiscFlags = 0;

hr = pd3d11Device->CreateBuffer( &vertexBufferDesc, 0, &VertBuffer);
CheckError(hr,"Create vertexBuffer");

        //jakis kod

Metoda dodająca obrazek do bufora
Vertex quad[4];

quad[0]=Vertex( posx, posy-image->texHeight,0.5f, 0.0f, 1.0f);
quad[1]=Vertex( posx, posy,0.5f, 0.0f, 0.0f);
quad[2]=Vertex(  posx + image->texWidth,posy, 0.5f, 1.0f, 0.0f);
quad[3]=Vertex(  posx + image->texWidth, posy-image->texHeight,0.5f, 1.0f, 1.0f);

D3D11_MAPPED_SUBRESOURCE resource;
ZeroMemory(&resource,sizeof(resource));

hr= pd3d11DevCon->Map(VertBuffer, 0, MapType, 0, &resource);
CheckError(hr,"Map");
memcpy(resource.pData, &quad, sizeof(quad));
    pd3d11DevCon->Unmap(VertBuffer, 0);

inuseTexture = image->Texture;

QuadCount++;
MapType=D3D11_MAP_WRITE_NO_OVERWRITE;

Metoda rysująca
UINT stride = sizeof( Vertex );
UINT offset = 0;
pd3d11DevCon->IASetVertexBuffers( 0, 1, &VertBuffer, &stride, &offset );


float blendFactor[] = {0.5f, 0.5f, 0.5f, 1.0f};

//Set the default blend state (no blending) for opaque objects
pd3d11DevCon->OMSetBlendState(0, 0, 0xffffffff);

//Create the Input Layout
hr = pd3d11Device->CreateInputLayout( layout, numElements, VertexShader->ReturnVSBuffer()->GetBufferPointer(), VertexShader->ReturnVSBuffer()->GetBufferSize(), &VertLayout );
CheckError(hr,"CreateInputLayout");

//set Renderstate
pd3d11DevCon->RSSetState(WireFrame);

//Set the Input Layout
pd3d11DevCon->IASetInputLayout( VertLayout );

//Set Primitive Topology
pd3d11DevCon->IASetPrimitiveTopology( D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST );

//Clear our backbuffer to the updated color
D3DXCOLOR bgColor( red, green, blue, 1.0f );

World = XMMatrixIdentity();

WVP = World * camView * camProjection;

cbPerObj.WVP = XMMatrixTranspose(WVP);

pd3d11DevCon->UpdateSubresource( cbPerObjectBuffer, 0, NULL, &cbPerObj, 0, 0 );

pd3d11DevCon->VSSetConstantBuffers( 0, 1, &cbPerObjectBuffer );

pd3d11DevCon->PSSetShaderResources( 0, 1, &inuseTexture );
pd3d11DevCon->PSSetSamplers( 0, 1, &CubesTexSamplerState );

pd3d11DevCon->ClearRenderTargetView(prenderTargetView, bgColor);
pd3d11DevCon->ClearDepthStencilView(pdepthStencilView, D3D11_CLEAR_DEPTH|D3D11_CLEAR_STENCIL, 1.0f, 0);

pd3d11DevCon->DrawIndexed( 6*QuadCount , 0, 0 );
//Present the backbuffer to the screen
pSwapChain->Present(0, 0);

MapType=D3D11_MAP_WRITE_DISCARD;
QuadCount=0;
inuseTexture = 0;

Bardzo proszę o pomoc

7
Konfigurator / Jednostka centralna za 1000zł
« dnia: Październik 11, 2012, 21:27:44 »
Chciałbym zapytać osób które dobrze znają się na składaniu komputerów co sądzą o moim zestawie i czy mogą zaproponować coś lepszego . Ma to być zestaw za około 1000 zł, bez obudowy, dysku twardego i odtwarzaczy.
 
Procesor:              AMD Athlon II x4 651
Płyta główna:       Gigabyte GA-A75-D3H
Karta graficzna :   GAINWARD GeForce GTS450 1024MB DDR5
Pamięć:                 2x 2GB DDR3 1600MHz np. Kingston albo GoodRAM
Zasilacz:               450W np. Cooler Master albo ChiefTec
 
Więcej szczegółów:
Procesor-http://www.agito.pl/procesor-amd-athlon-ii-x4-651-fm1-box-81-543533.html?utm_content=543533&utm_source=skapiec.pl&utm_medium=Feed&utm_campaign=wszystkie
Płyta główna-http://www.gigabyte.pl/products/page/mb/ga-a75-d3hrev_10
Karta graficzna-http://www.gainward.com/main/vgapro.php?id=409

8
DirectX / DX9 Index Buffer
« dnia: Maj 29, 2012, 14:24:15 »
Więc tak, mam bufor wierzchołków w którym mam zadeklarowane 8 wierzchołków

CUSTOMVERTEX swiat[]=
{

{ 0.0f, 0.0f, 0.0f, 0xff00ff00, }, //0
{ 0.0f, 0.0f, 5.5f, 0xff00ff00, }, //1
{ 5.0f, 0.0f, 0.0f, 0xff00ff00, }, //2
{ 5.0f, 0.0f, 5.0f, 0xff00ff00, }, //3


{ 1.0f, 0.0f, 1.0f, 0xff0000ff, }, //4
{ 1.0f, 0.4f, 1.0f, 0xff0000ff, }, //5
{ 1.0f, 0.0f, 0.5f, 0xff0000ff, }, //6
{ 1.0f, 0.4f, 0.5f, 0xff0000ff, }  //7


};

Następnie tworze dwa bufory indeksów w których deklaruje dwa kwadraty (pionowy i poziomy)

WORD kwadrat1[]={0,1,2, 3,2,1};
WORD kwadrat2[]={4,5,6, 5,7,6};

I renderuje scene

renderer->Clear( 0, NULL,  D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0,0,50), 1.0f, 0 );
renderer->BeginScene();
renderer->SetStreamSource(0,buforw,0,sizeof(CUSTOMVERTEX));
renderer->SetFVF( D3DFVF_CUSTOMVERTEX );
renderer->SetIndices(kwadrat1);
renderer->DrawIndexedPrimitive(D3DPT_TRIANGLELIST,0,0,4,0,2);


renderer->SetIndices(kwadrat2);
renderer->DrawIndexedPrimitive(D3DPT_TRIANGLELIST,0,4,4,0,2);



renderer->EndScene();
renderer->Present( NULL, NULL, NULL, NULL );

i problem w tym że widać tylko ten pionowy, a gdy skasuje rysowanie go to tamten(poziomy) widać z powrotem.
I chciałbym jeszcze zapytać czy takie podejście z jednym Vertex Buffer(dla całej sceny) i Index Buffer'ami dla każdego obiektu jest dobrym rozwiązaniem?

9
Szkółka / Particle
« dnia: Październik 12, 2011, 13:49:44 »
Chcę napisac sobie system cząsteczkowy w SDL i  chce sie dowiedzieć czy jest jakis prosty sposób na mieszanie kolorów sprite'ów przy użyciu tej biblioteki?

10
Matematyka i fizyka / zderzenia dwóch kul
« dnia: Sierpień 05, 2011, 15:29:33 »
Próbuje napisać symulacje zderzenia niecentralnego dwóch kul, przeszukałem trochę internetu i znalazłem coś takiego http://graja.net/eksperyment/mikrotesty/20090313/zderzenie_kul.html i mam jeden problem bo nie wiem jak obliczyć te składowe wektora prędkości kuli czyli (np. dla kuli A) v1s i v1n.

Proszę o pomoc.

11
Sprzedam / Sprzedam książke do Delphi
« dnia: Styczeń 06, 2011, 22:47:24 »
Książka "DELPHI 2007 Dla WIN32 i baz danych"
Autor Marian Wybrańczyk
Stan bardzo dobry, prawie nie używana.

Działy książki:
1 Środowisko Delphi - szybki start
2 Wybrane komponenty środowiska
3 Niewizualne środki programowania
4 Elementy grafiki
5 Wykorzystujemy bibliotekę VCL
6 Wielowątkowość
7 Biblioteki DLL
8 Pliki tekstowe
9 Strumienie plikowe
10 Pliki typowane
11 XML i DOM
12 Planujemy bazę danych
13 FireBird - Elementy języka SQL
14 ODBC i MS Access, DBF
15 InterBase
16 MySQL i dbExpress
17 MySQL i Zeos
18 SQL Server 2005 i dbGo
19 Rave Reports - drukujemy
20 Interfejs bazodanowy
21 BDE
22 Logiczne blokowanie rekordu
23 Instalowanie programów - InnoSetup

Cena książki 30zł

12
SDL / SDL-surfejsy
« dnia: Grudzień 21, 2010, 15:43:10 »
Mam problem z SDL, robie coś takiego :

//Skrócona wersja kodu

        SDL_Rect dest;

        SDL_Surface* tekstury[10]; 
SDL_Surface* mapa;             
        SDL_Surface* kafelki[20][20];

        tekstury[1]=SDL_LoadBMP("grafika/mapa/woda.bmp");
        //Dalej uzupełniam tablice róznym obrazkami
       
 
        kafelki[2][2]=tekstury[1]; // kopiuje wskaźnik do indeksu kafelka

        dest.x=1; //Przykładowa pozycja
        dest.y=1;


SDL_BlitSurface(kafelki[1][1],NULL,mapa,&dest); //I "układam" na powierzchni mapa obrazki...

i wywala błąd przy próbie wywołania funkcji SDL_BlitSurface()
Unhandled exception at 0x68128c2c in Three Kingdoms.exe: 0xC0000005: Access violation reading location 0xccccccf8.
Jeśli to wam nic nie mówi to mogę przesłać większy kawałek kodu
Proszę o pomoc

13
Szkółka / Wskaźniki
« dnia: Listopad 23, 2010, 18:06:09 »
Mam taką klasę w pliku mapservice.h :

class map
{
public:


ALLEGRO_BITMAP* tekstury[5];

struct fieldData
{
ALLEGRO_BITMAP* pole;
};




//metody itp.

};


I robię coś takiego w pliku mapservice.cpp w metodach klasy map (Pomijam dużą część kodu)



tekstury[1]=al_load_bitmap("grafika/woda.bmp");
kafelki[1][1].pole=tekstury[1];
al_draw_bitmap(kafelki[1][1].pole,1*64,1*48,NULL);



I przy wywołaniu metody al_draw_bitmap(kafelki[1][1].pole,1*64,1*48,NULL) wywala błąd :
Unhandled exception at 0x10003586 in aaa.exe: 0xC0000005: Access violation reading location 0xccccccd8.

14
Szkółka / Problem z linkerem
« dnia: Październik 25, 2010, 16:05:10 »
Mój problem wygląda tak, podczas kompilowania projektu w visual studio 2008 wywala błąd linkera który brzmi następująco :
1>map_loader.obj : error LNK2005: "public: void __thiscall maploader::LoadMap(void)" (?LoadMap@maploader@@QAEXXZ) already defined in main.obj
1>RTL.obj : error LNK2005: "public: void __thiscall maploader::LoadMap(void)" (?LoadMap@maploader@@QAEXXZ) already defined in main.obj
1>C:\Users\Kamil\Documents\Visual Studio 2008\Projects\Trzy korony\Debug\Trzy korony.exe : fatal error LNK1169: one or more multiply defined symbols found

Mój projekt wygląda mniej więcej tak :

main.cpp
#include"map_loader.cpp"

void main()
{
}


map_loader.cpp
#include"map_loader_data.h"

void maploader::LoadMap()
{
bla bla bla
}

i map_loader_data.h
class maploader
{
private:
bla bla bla
public:
void LoadMap();
bla bla bla
}

Strony: [1]