Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему не работает цвет? учусь юзать DireectX 
V
    Опции темы
Phantomka
Дата 10.4.2008, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



Подскажите, пожалуйста, почему у меня может не получаться нарисовать цветные линии? Цвет фона меняется, а цвет линий - никак не хочет smile 

Код

unit Example1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,Direct3D9, Direct3D, D3DX9;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormPaint(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  procedure Render();
  end;

type MyVertex1 = packed record
    x, y, z, rhw: Single;
    color: DWORD;
end;
type MyVertex2 = packed record
    x, y, z: Single;
    n1, n2, n3: Single;
end;

var
  Form1: TForm1;
  direct3d: IDirect3D9;
  device: IDirect3DDevice9;
  display: TD3DDisplayMode;
  params: TD3DPresentParameters;
  line :  ID3DXLine;
  points: array[0..1] of TD3DXVector2 = ( (x:100; y:100), (x:200; y:200) );
  data: array [0..9] of MyVertex1;




  const
      MY_FVF = D3DFVF_XYZRHW or D3DFVF_DIFFUSE;




implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  direct3d := Direct3DCreate9( D3D_SDK_VERSION );

  direct3d.GetAdapterDisplayMode( D3DADAPTER_DEFAULT, display );

  ZeroMemory( @params, SizeOf(params) );
  params.Windowed := True;
  params.SwapEffect := D3DSWAPEFFECT_DISCARD;
  params.BackBufferFormat := display.Format;

  direct3d.CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL,
  Handle, D3DCREATE_SOFTWARE_VERTEXPROCESSING,
  @params, device );
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  direct3d := nil;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
    Render;
end;


procedure TForm1.Render;
var
i: integer;
begin
  device.BeginScene;
  device.Clear(0,nil,D3DCLEAR_TARGET, D3DCOLOR_XRGB(225,0,0), 1.0,0);
  device.SetFVF( MY_FVF);
  for I := 0 to 9 do
    begin
      data[i].x := 100;
      data[i].y := 10 * i + 20;
      data[i].color := D3DCOLOR_XRGB(225,0,225);
    end;
  device.DrawPrimitiveUP(Direct3D9.D3DPT_LINELIST, 9, data, SizeOf(MyVertex1));
  device.EndScene;
  device.Present(nil, nil, 0, nil);

end;
end.


Заранее благодарна за помощь smile 
PM MAIL   Вверх
WaReZMEN
Дата 11.4.2008, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Phantomka, хз у меня все меняется smile просто цвет 255,0,255 хреново видно на красном фоне....
PM MAIL ICQ   Вверх
Phantomka
Дата 11.4.2008, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



Я пробовала разные вариации от черного до белого... линии остаются черными =(
PM MAIL   Вверх
WaReZMEN
Дата 14.4.2008, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Phantomka, у меня цветная... может драва на ведяху поставитьпосвежее?
PM MAIL ICQ   Вверх
Phantomka
Дата 17.4.2008, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



Спасибо за совет. Потестила на другом компе - там нормально все  smile 

Это сообщение отредактировал(а) Phantomka - 17.4.2008, 12:01
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0418 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.