ПрограммированиеФорумОбщее

Вопросы по VB6 (25 стр)

Страницы: 120 21 22 23 24 25
#360
14:43, 15 авг 2011

Mikle
Чет я такой тупой....
Так?

1-----2(6)
|        /|
|       / |
|      /  |
|     /   |
|    /    |
|   /     |
3(5)----4
#361
15:08, 15 авг 2011

Если вертексы нумеровать так:
1 3 5 7 9
2 4 6 8
То треугольники можно рисовать так:
1-3-2, 2-3-4, 3-5-4, 4-5-6...
А можно так:
1-3-2, 2-4-3, 3-5-4, 4-6-5...
В первом случае все треугольники рисуются по чс, во втором случае идёт чередование по-против чс.

#362
21:51, 16 авг 2011

Все разобрался, обновил DX и все заработало...
Как там прогресс со звуком?

#363
22:05, 28 авг 2011

Начал пилить шейдеры, столкнулся с проблемой...
Написал тестовый шейдер для бампа:

ps_2_0

dcl t0
dcl_2d s0

texldp r0, t0, s0
dp3 r0, r0, c0
mov oC0, r0

Долго мучался с расчетом вектора, и для надежности взял 100% рабочий код от Mikle:

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim v2 As D3DVECTOR2, v3 As D3DVECTOR
  If Not running Then Exit Sub
  v2.x = (0.5 - x / Me.ScaleWidth) * 2
  v2.y = (0.5 - y / Me.ScaleHeight) * 2
  If Vec2Length(v2) > 1 Then Vec2Normalize v2, v2
  v3.x = v2.x: v3.y = v2.y
  v3.z = Sqr(1.0001 - v3.x * v3.x - v3.y * v3.y)
  v1.x = v3.x
  v1.y = v3.y
  v1.z = v3.z
End Sub

PS: v1-вектор для передачи шейдеру
Свет расспростроняется как то не так...

Где я ошибся?

#364
23:13, 28 авг 2011

После texldp значение в выборке от 0 до 1, а нужно от -1 до 1.

#365
0:01, 29 авг 2011

Mikle
Есть какая-то хитрость? Или в лоб (r0*2)-1

>Добавлено
Заработало:

ps_2_0

dcl t0
dcl_2d s0

def c2,2,-1,0,0

texldp r0, t0, s0

mad r0,r0,c2.x,c2.y

dp3 r0,r0,c0

mov oC0, r0

PS: никогда бы не додумался...

#366
9:47, 29 авг 2011

Всё правильно.

#367
22:32, 15 окт 2011

Запутался с GetDIBits... Как можно скопировать область(rect) исходника в массив?
Как я понял в структуру t_bit_info надо задавать данные исходника... А в t_max_size.y количество сканов по X... Значит только резать уже полученный массив?

   With t_bit_info.bmiHeader
      .biBitCount = 32&
      .biPlanes = 1&
      .biSize = Len(t_bit_info.bmiHeader)
      .biWidth = t_max_size.x
      .biHeight = -t_max_size.y
      .biSizeImage = (t_max_size.x * t_max_size.y - 1) * 4&
   End With
                                                   'подготовим массив для загрузки
   ReDim t_data(t_max_size.x * t_max_size.y - 1)
                                                   'захватим
   GetDIBits t_DC, t_bitmap, 0&, t_max_size.y, t_data(0), t_bit_info, 0&
#368
9:34, 16 окт 2011

max255
> .biSizeImage = (t_max_size.x * t_max_size.y - 1) * 4&
Тут "-1" не нужно ставить, только в ReDim. (Так вот откуда у тебя появляется ошибка :) )
max255
> Значит только резать уже полученный массив?
Похоже, что так, либо построчно в цикле выполнять GetDIBits, но это, скорее всего, будет медленнее.

#369
12:11, 16 окт 2011

Mikle
> Тут "-1" не нужно ставить, только в ReDim.
Точно!!! Меня этот "косяк" уже полгода мучает...
Пошел исправлять...

#370
19:54, 9 ноя 2011

Решил покрутить ScriptControl
Кто нибудь работал с этой штуковиной? Что можете сказать о ней?

#371
23:02, 9 ноя 2011

Нормально работает, особенно удобен именно с VB6 - можно передавать в SC параметрами объекты вплоть до форм.

#372
20:55, 10 ноя 2011

Mikle
Думаю юзать его для расчета игровой логики.

Столкнулся с траблой... При отрисовке 200000 примитивов(частиц) за один проход приложение зависло, после чего упал драйвер видеокарты...
В капсах число намного больше чем 200000... Тут есть какие-то хитрости?

#373
10:52, 11 ноя 2011

max255
> При отрисовке 200000 примитивов(частиц) за один проход приложение зависло,
> после чего упал драйвер видеокарты...
А отрисовка с какой попытки? Может ты просто корректно не уничтожал вертексбуферы и переполнил видеопамять? Попробуй отрисовать на свежеперезагруженной винде.

#374
17:04, 11 ноя 2011

Mikle
> не уничтожал вертексбуферы
Это же частицы... Буфер постоянно меняется... Я юзал UP...

> свежеперезагруженной винде.
Так же помер... На этот раз даже bsod показал...

Страницы: 120 21 22 23 24 25
ПрограммированиеФорумОбщее

Тема в архиве.