Кол-во бит на пиксель в Direct3DX8

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Кол-во бит на пиксель в Direct3DX8

Сообщение Vovik » 02.10.2003 (Чт) 15:24

Как менять разрешение - понятно! А как поставить 16 бит или 32 - не понятно... Может, кто подскажет :roll:

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 02.10.2003 (Чт) 17:03

Кажись это:

Dim D3DPp As D3DPRESENT_PARAMETERS ' Параметры отображения
D3DPp.AutoDepthStencilFormat = D3DFMT_D16 или D3DFMT_D32
вобщем, там параметров куча

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Сообщение Vovik » 02.10.2003 (Чт) 21:04

Yurich писал(а):Кажись это:

Dim D3DPp As D3DPRESENT_PARAMETERS ' Параметры отображения
D3DPp.AutoDepthStencilFormat = D3DFMT_D16 или D3DFMT_D32
вобщем, там параметров куча

Я уже это пробовал, но он мне выдаёт ошибку... :cry:

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 03.10.2003 (Пт) 0:48

Vovik писал(а): Я уже это пробовал, но он мне выдаёт ошибку... :cry:


Тады ВАЙ, ВАЙ ... еще сам не пробовал, некогда было.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 03.10.2003 (Пт) 8:21

А ты, случайно, не в оконном режиме битность пытаешься менять?

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Сообщение Vovik » 03.10.2003 (Пт) 9:27

Mikle писал(а):А ты, случайно, не в оконном режиме битность пытаешься менять?

Нет конечно!!! А может из-за того, что у меня общая стоит 16 бит???
:shock:

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 03.10.2003 (Пт) 15:16

Это рабочий код:

Код: Выделить всё
Public Sub InitD3D(WinMode As Boolean, FogFlag As Boolean, WinDx As Integer, WinDy As Integer, Bpp As Integer, TL As Boolean)
Dim MatProjection As D3DMATRIX
Dim DispMode As D3DDISPLAYMODE
Dim d3dpp As D3DPRESENT_PARAMETERS
Dim tmp As Long
 
  Set d3d = DirX8.Direct3DCreate
  Call d3d.GetAdapterDisplayMode(D3DADAPTER_DEFAULT, DispMode)
  d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD

  If WinMode Then
    d3dpp.Windowed = True
    d3dpp.BackBufferFormat = DispMode.Format
  Else
    d3dpp.Windowed = False
    d3dpp.BackBufferWidth = WinDx
    d3dpp.BackBufferHeight = WinDy
    If Bpp = 16 Then
      d3dpp.BackBufferFormat = D3DFMT_R5G6B5
    Else
      d3dpp.BackBufferFormat = D3DFMT_X8R8G8B8
    End If
  End If
  d3dpp.BackBufferCount = 1
  d3dpp.EnableAutoDepthStencil = True
  d3dpp.AutoDepthStencilFormat = D3DFMT_D16
  If TL Then
    Set d3dDevice = d3d.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, frmD3D.hWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING, d3dpp)
  Else
    Set d3dDevice = d3d.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, frmD3D.hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, d3dpp)
  End If

  tmp = &H3C000000 + 335544 * FogDens
  If FogFlag And (FogDens > 0) Then
    d3dDevice.SetRenderState D3DRS_FOGCOLOR, FogColor
    d3dDevice.SetRenderState D3DRS_FOGDENSITY, tmp
    d3dDevice.SetRenderState D3DRS_FOGTABLEMODE, D3DFOG_EXP
    d3dDevice.SetRenderState D3DRS_FOGENABLE, True
  End If

  d3dDevice.SetRenderState D3DRS_LIGHTING, False
 
  d3dDevice.SetTextureStageState 0, D3DTSS_MIPFILTER, D3DTEXF_LINEAR
  d3dDevice.SetTextureStageState 0, D3DTSS_MINFILTER, D3DTEXF_LINEAR
  d3dDevice.SetTextureStageState 0, D3DTSS_MAGFILTER, D3DTEXF_LINEAR
  End Sub

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 03.10.2003 (Пт) 16:56

Вот и наш Майкл заговорил конкретно! У меня была вчера мысль: "Ведь Он-то знает! Но, молчит". СПАСИБО!

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Сообщение Vovik » 04.10.2003 (Сб) 9:23

Майкл, по какой фор-ле ты выщитывал этот tmp??? :roll:

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 06.10.2003 (Пн) 8:36

Я экспериментально нашел диапазон изменений для плотности тумана, пригодных в моей программе. Эсли сильно изменить масштабы - изменится и диапазон. У меня глубина обзора от 0.1 до 100.

tmp = &H3C000000 + 335544 * FogDens
переводит значения диапазона 0...100 в этот диапазон.

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Сообщение Vovik » 06.10.2003 (Пн) 14:19

Mikle писал(а):Я экспериментально нашел диапазон изменений для плотности тумана, пригодных в моей программе. Эсли сильно изменить масштабы - изменится и диапазон. У меня глубина обзора от 0.1 до 100.

tmp = &H3C000000 + 335544 * FogDens
переводит значения диапазона 0...100 в этот диапазон.

Интересно!!!! :shock: А по другому нельзя? Я использую туман, как написано в SDK, тот, который писал Юрич. :roll:


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26

    TopList  
cron