DirectX GetBuffer – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

DirectX GetBuffer – C / C++ – Fórum – Programujte.comDirectX GetBuffer – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Porcepoque0
Newbie
18. 5. 2013   #1
-
0
-

Dobrý den, tento kód způsobí tuto chybu: 

Unhandled exception at 0x000000013F241026 in DirectX 11.exe: 0xC0000005: Access violation reading location 0x0000000000000000

Používám VS2012 a directxtutorial.com

 

IDXGISwapChain* swapchain;
ID3D11Device* dev;
ID3D11DeviceContext* devcon;
ID3D11RenderTargetView *backbuffer; 

void InitD3D(HWND hWnd)
{

	ID3D11Texture2D *pBackBuffer;

//třetí parametr způsobí chybu
    swapchain->GetBuffer(0,__uuidof(ID3D11Texture2D),(LPVOID*)&pBackBuffer);

/*
další kód
*/

}
Nahlásit jako SPAM
IP: 88.102.98.–
Řešení
Radek Chalupa
~ Redaktor
+1
Super člen
18. 5. 2013   #2
-
0
-
Vyřešeno Nejlepší odpověď

#1 Porcepoque
Máš v okamžiku volání už (úspěšně) vytvořenou instanci swapchain?

Volal jsi "někde na začátku" CoInitialize?

Máš ověřené v dokumentaci že ten 3. parametr má být typu ID3D11Texture2D* ?

Radek Chalupa
- vývoj software na zakázku
- školení programování (C/C++, WinAPI, ATL, COM, ActiveX, C#, NET Framework, MFC)
http://www.radekchalupa.cz

Nahlásit jako SPAM
IP: 213.220.211.–
Porcepoque0
Newbie
20. 5. 2013   #3
-
0
-

Díky, mám to. Stačilo vložit na začátek InitD3D tento kód:
 

DXGI_SWAP_CHAIN_DESC scd;
	ZeroMemory(&scd, sizeof(DXGI_SWAP_CHAIN_DESC));
   
	scd.BufferCount = 1;
	scd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
	scd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
	scd.OutputWindow = hWnd;
	scd.SampleDesc.Count = 4;
	scd.Windowed = TRUE;

	D3D11CreateDeviceAndSwapChain(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, NULL, NULL, NULL, D3D11_SDK_VERSION, &scd, &swapchain, &dev, NULL, &devcon);
Nahlásit jako SPAM
IP: 88.102.98.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 9 hostů

Podobná vlákna

DirectX 8/9 — založil samo

C#/C++ a DirectX — založil Scrash

DirectX 9c a 10 — založil eraser17

DirectX — založil survik1

DIRECT3D a DirectX — založil KRYTEK759

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý