Ustawiam texture2d
jako cel renderowania urządzenia. Po narysowaniu w jaki sposób mogę bezpośrednio odczytać i zapisać piksele z obiektu render, a następnie je wyświetlić.odczytać dane pikseli z docelowego renderowania w d3d11
Odpowiedz
Jeśli zamiarem jest wykorzystanie go jako wejście do innego shadera: - wystarczy upewnić się, stworzył texture2D z D3D11_BIND_RENDER_TARGET i D3D11_BIND_SHADER_RESOURCE.
- Bind teksturę jako cel renderowania i renderowania do niego.
- Odwiąż go jako cel renderowania i powiąż go jako zasobu modułu cieniującego i użyj go w następnym module cieniującym.
- Należy zauważyć, że tekstura nie może zostać powiązana jako cel i zasób w tym samym czasie.
Jeśli zamiarem jest, aby uzyskać dostęp do tekstury na CPU z wykorzystaniem C++ jako tablica pikseli, potem trzeba popracować. Niestety, ze względu na obecne architektury GPU, nie jest możliwy bezpośredni dostęp do pikseli texture2D, ponieważ piksele faktycznie żyją w potencjale pamięci GPU w specjalnym formacie (format swizzlowany).
- Utwórz teksturę, na którą może się wyświetlać GPU.
- Utwórz teksturę pomostową (D3D11_USAGE_STAGING), która będzie używana do odbierania danych wyjściowych układu GPU.
- Renderuj na teksturę GPU.
- Wydaj ID3D11DeviceContext :: CopyResource() lub ID3D11DeviceContext :: CopySubresource()
- połączeń ID3D11DeviceContext :: Mapa() w zasobie pomostowym, aby uzyskać dostęp do pikseli.
- Wywołanie ID3D11DeviceContext :: Unmap() dla zasobu pomostowego.
- Wywołanie ID3D11DeviceContext :: UpdateSubresource() w celu zaktualizowania wersji zasobu, którą posiada GPU.
Jak widać, nie jest to z pewnością trywialny zestaw operacji i jest sprzeczny z tym, do czego jest dzisiaj zoptymalizowana architektura GPU. Na pewno nie poleciłbym tego.
Jeśli nie skończyć się tą drogą, należy również przeczytać o wszystkich problemów perf pamięci GPU odczytany pochodzi z: http://msdn.microsoft.com/en-us/library/windows/desktop/bb205132(v=vs.85).aspx#Performance_Considerations
- 1. Jak odczytać dane z Hbase?
- 2. Zastosowanie D3D11 warstwa debugowania z VS2013 w systemie Windows 10
- 3. Jak edytować/odczytać wartości pikseli w OpenCv ze zmiennej Mat?
- 4. Jak mogę odczytać dane binarne z wfstream?
- 5. Node.js jak odczytać dane json z żądania?
- 6. Jak odczytać dane portu szeregowego z JavaScript
- 7. jak odczytać dane z jednej kolumny datagridview
- 8. Jak uzyskać dane pikseli z obrazu za pomocą R
- 9. Jak odczytać dane żądanie POST w szafie
- 10. Jak * faktycznie * odczytać dane CSV w TensorFlow?
- 11. Jak mogę odczytać dane cx_Oracle.LOB w Pythonie?
- 12. C# szybkie renderowanie pikseli
- 13. Jak odczytać dane z Arduino z Raspberry Pi z I2C
- 14. Jak odczytać dane wejściowe z konsoli w pliku wsadowym?
- 15. Jak odczytać dane wejściowe z wielu linii w Javie
- 16. odczytać dane z pliku do końca wiersza w C/C++
- 17. Jak można odczytać dane z nagłówka odpowiedzi w jQuery/javascript
- 18. Jak mogę odczytać dane obrazu z adresu URL w Pythonie?
- 19. Jak odczytać dane z Arduino z Raspberry pi przez I2C
- 20. Czytanie kolorów pikseli obrazu
- 21. Jak odczytać dane z programu Excel za pomocą z PHPExcel
- 22. Sposób, aby odczytać dane z tabeli z MySQL do Pig
- 23. D3D11: Jak narysować tekst GDI na powierzchni GXDI? (Bez D2D)
- 24. Wydajność renderowania WPF z BitmapSource
- 25. Perl6: Jak odczytać surowe dane STDIN?
- 26. Jak odczytać dane z Firebase ONCE przy użyciu java/android?
- 27. Jak mogę odczytać dane z pliku tekstowego za pomocą VB6?
- 28. Jak odczytać dane HttpRequest wysłane z klienta, na serwerze
- 29. Jak mogę odczytać dane z pamięci flash USB?
- 30. odczytać dane wejściowe z pliku i odpowiednio zsynchronizować
Czy to znaczy czytać pikseli z powrotem do CPU, lub jako wkład do kolejny moduł cieniujący? – jcoder