sprawa ma się tak, rysowanie jest przez SetPixel(mydc, x, y, COLOR); tylko przy tekxturach 512x512 to jest 1-2 klatki na sekunde , czy można załączyć jakoś akceleracje sprzętową rysowania tej grafiki? przecież np pulpit systemu windows działa natychmiastowo z akceleracją bo tak by klatkowało .....

- Rejestracja:ponad rok
- Ostatnio:około godziny
- Postów:379

- Rejestracja:ponad rok
- Ostatnio:około godziny
- Postów:379
kończe pisać silniczek do renderingu grafiki w konsoli i tak się zastanawiam jak przyspieszyć rysowanie jak skoncze dam znać i pokaże cały projekt, przecież OpenGl czy DirectX DDraw odwołuje się do procesora graficznrgo, nie wierze że nie da się tego putpixela przyspieszyć, muszą istnieć funkcje inicjujące akceleracje sprzetową do konsoli


- Rejestracja:ponad rok
- Ostatnio:około godziny
- Postów:379
do linii poleceń , nie w trybie tekstowym , obrazki będą bezpośrednio w konsoli ,
mam pytanie czy tą funkcją https://learn.microsoft.com/en-us/windows/console/readconsoleoutput?redirectedfrom=MSDN można pobrać wysokosc i szerokość rozmiaru okna konsoli w pixelach?

- Rejestracja:ponad rok
- Ostatnio:około godziny
- Postów:379
ta funkcja ReadConsoleOutput jest do kitu pobiera w kolumnach i w wierszach a to nie to
EDIT: lpReadRegion [in, out]
Wskaźnik do struktury SMALL_RECT . Na wejściu członkowie struktury określają współrzędne lewego górnego i prawego dolnego rogu prostokąta bufora ekranu konsoli , czy to pobiera czy się ustawia, jak pobiera moze ktos pomóc mi okiełznać tą funkcje ... proszę ....

- Rejestracja:ponad 14 lat
- Ostatnio:około 10 godzin
- Postów:2068
'kończe pisać silniczek do renderingu grafiki"
Moim skromnym zdaniem to jeszcze nie kończysz !
Dokładnie to jeszcze nie zaczęłaś !
Aby cokolwiek napisać warto najpierw popatrzeć jak działają inne proste biblioteki
I dopiero potem jak nie znajdziesz swoje biblioteki piszesz swój ideał lepszy od tych co używałeś
Taka moja sugestia ale można moje uwagi zignorować ja większość życia pisałem w Delphi i od niedawna zmieniłem front na c++ wiec co ja tam wiem
- Rejestracja:około 7 lat
- Ostatnio:3 minuty
- Postów:870
Zmieniłbym podejście: najpierw cały obrazek operuje na tablicy 2D, która potem jest w całości całości przekazywana do SetPixel
. Dzięki temu wywołujesz SetPixel
tylko raz na piksel a zakładam, że SetPixel
działa bardzo wolno
Dalej szukałbym funkcji, która pozwala na to samo co SetPixel
ale wielu pixeli. A najlepiej to znajdź w internecie jak ludzie to robią, jest mnóstwo taki bibliotek

- Rejestracja:około 11 lat
- Ostatnio:minuta
- Postów:8403
Co to jest za API w ogóle? Tam widzę, że dałeś dokumentację Microsoftu, czy to znaczy, że korzystasz z windowsowego API? Jakieś GDI czy coś? Czy coś innego?
W każdym razie poszukałbym czegoś w tym API, co będzie się nazywać texture
albo bitmap
, image
czy podobnie.
Coś, co ci pozwoli na dostanie się do buforu i działanie na tablicy pikseli w pamięci. Wtedy ustawianie piksela to po prostu podmianka czegoś w pamięci RAM, czyli byłoby to szybkie (chociaż jak byś przejeżdżał przez ileś pikseli w pamięci, to też mogłoby zamulić, chyba że możesz shadery w GPU robić w tym API. Co ty w ogóle chcesz wyświetlać konkretnie?).
No i potem taką teksturę/bitmapę można by od razu wyświetlić już po zakończonej operacji.

- Rejestracja:ponad rok
- Ostatnio:około godziny
- Postów:379
tzn tak , jak wywoływana jest instrukcja rysowania obiektów to wpisy są do tablicy a na samym koncu po finalizacji jest pojedynzca tekstura bufforu z grafika renderowana , tak windowsowe API , wiem jak działą rendering grafiki bo np w OpenGl sam przesiedziałem w tym 18 lat życia
jak skoncze to zapodam mój projekt na forum, pisane jest w vc++6.0 c++98 ale postaram sie z lekka przerobic na c++11 aby kompilowało pod g++

- Rejestracja:ponad rok
- Ostatnio:około godziny
- Postów:379
do Marius.Maximus "Dokładnie to jeszcze nie zaczęłaś !" jak śmiesz pisać że ktos czegos nie robi jak robi i pisze ze robi to tzn ze ne kłamie a ty oskarżasz człowieka o kłamstwo które nie ma , to nie ładnie , a tak osobiście to się nie znamy i nie znasz moich mozliwości

- Rejestracja:ponad rok
- Ostatnio:około godziny
- Postów:379
g++ ma problem z taki kodem:
#include <windows.h>
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
using namespace std;
int main(int argc, char* argv[])
{
HWND myconsole;
HDC mydc;
COLORREF COLOR;
myconsole = GetConsoleWindow();
mydc = GetDC(myconsole);
COLOR= RGB(0,255,0);
SetPixel(mydc, 5, 5, COLOR);
system("pause");
return 0;
}
to jest podstawa i nie działa na g++
c:\temp\DrawConsole_g++>g++ main.cpp -o main.exe
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\Dom\AppData\Local\Temp\ccuqLlHq.o:main.cpp:(.text+0x57): undefined reference to `__imp_SetPixel'
collect2.exe: error: ld returned 1 exit status
c:\temp\DrawConsole_g++>pause
Press any key to continue . . .


- Rejestracja:ponad rok
- Ostatnio:około godziny
- Postów:379
juz mam trzeba dodac biblioteke gdi32.lib
g++ main.cpp -l gdi32 -o main.exe
skoncze projekt i potem zapodam

- Rejestracja:ponad 14 lat
- Ostatnio:około 10 godzin
- Postów:2068
@wilkwielki: Psy szczekają karawana jedzie dalej, najważniejsze aby to co robisz dawało Ci szeroko pojętą radość.

- Rejestracja:ponad rok
- Ostatnio:około godziny
- Postów:379
zdrówko po kieliszku hoop