информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] DirectDraw 05.02.04 11:16  
Автор: Sergio Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Люди, подскажите как напрямую получить указатель на видеобуфер и заполнять его, к примеру, 255.

Вот
// получакм рект
GetClientRect(hWnd, &rc);
// блокируем сюрфайс
g_pDDSBack->Lock(&rc, &ddsurfdesc,DDLOCK_WRITEONLY,0);
pByte = (PBYTE) ddsurfdesc.lpSurface; // указатель
memset(pByte, 0xFF,10); // заполняем буфер
g_pDDSBack->Unlock(&rc);

И не получается.....
Я навскидку уже не помню как там и что, но может и это... 05.02.04 22:33  
Автор: S-pent Статус: Незарегистрированный пользователь
<"чистая" ссылка>

Я навскидку уже не помню как там и что, но может и это поможет ...

1. Ты палитру инициализируешь ?
2. У тебя одна поверхность (первичная) ?
3. Попробуй вот такой вариант (точек побольше набросай) - заполнение случайными числами
4. Там есть "мертвый угол" какой-то - его нужно учитывать (mempitch)

lpddsprimary->Lock(NULL, &ddsd, DDLOCK_SURFACEMEMORYPTR | LOCK_WAIT, NULL));

int mempitch = (int)ddsd.lPitch;
UCHAR *video_buffer = (UCHAR *)ddsd.lpSurface;

for (int index=0; index < 1000; index++)
{
UCHAR color = rand()%256;
int x = rand()%640;
int y = rand()%480;

video_buffer[x+y*mempitch] = color;
}

lpddsprimary->Unlock(NULL);
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach