Навигация
Поддержать материально
Steam Greenlight

Логотипы
Медальки
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Темы форума
WoL
Сегодня, 15:33
 Shirson
185 - RPG
9.02.2024
 Vaskrol
В каком банке открыт…
24.01.2024
 Darthman
185 - ?
30.12.2023
 Mefistofel
TESTAMENT - Тактичес…
15.11.2023
 KregHek
RES - Движок для пик…
27.09.2023
 rimush
177 - One Button Str…
20.09.2023
 VoroneTZ
JS 13k contest
13.09.2023
 Mefistofel
184 - Arcade II
14.08.2023
 tiger1025
184 - ?
14.07.2023
 Kaps
Сейчас на сайте
Гостей: 2
На сайте нет зарегистрированных пользователей

Пользователей: 1,789
новичок: NickName
Обсуждение «С# + Managed DirectX 9»
DeVoid
Avatar пользователя

Опубликовано 27.09.2007 21:46 (17 лет назад)    #
Пишу на C# в Visual Studio 2005 (.NET Framework 2.0).
Вот дошло дело и до геймдевелопинга, скачал книгу:
Том Миллер "Managed DirectX 9". Пишу первый же пример с нее. Экран очищается в черный, тоесть сцена создается, но на ней ничего не отисовывается (по примеру должен рисоваться треугольник). Скачивал с нета готовые примеры - тоже просто черный экран. Кто сталкивался, помогите советом!

редакция от DeVoid, 27.09.2007 21:47

beisik
Avatar пользователя

Опубликовано 28.09.2007 07:13 (17 лет назад)    #
Может дело в дровах/видеокарте/версии directX? Кинь пример сюда.
Makar Borisowitch
Avatar пользователя

Опубликовано 28.09.2007 11:01 (17 лет назад)    #
Дайошь Маки и Объектив Си... (:
DeVoid
Avatar пользователя

Опубликовано 28.09.2007 18:21 (17 лет назад)    #
Вот привожу пример с книги:
public void InitializeGraphics()
{
try
{
// Set our presentation parameters
PresentParameters presentParams = new PresentParameters();
presentParams.Windowed = true;
presentParams.SwapEffect = SwapEffect.Discard;
// Create our device
device = new Device(0, DeviceType.Hardware, this, CreateFlags.SoftwareVertexProcessing, presentParams);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

Этот метод прописан в :
[STAThread]
static void Main()
{
....
}

и в OnPaint формы пишу:
device.Clear(ClearFlags.Target, Color.Black, 1.0f, 0);

CustomVertex.TransformedColored[] verts = new CustomVertex.TransformedColored[3];
verts[0].SetPosition(new Vector4(this.Width / 2.0f, 50.0f, 0.5f, 1.0f));
verts[0].Color = System.Drawing.Color.Aqua.ToArgb();
verts[1].SetPosition(new Vector4(this.Width - (this.Width/5.0f), this.Height-(this.Height/5.0f), 0.5f, 1.0f));
verts[1].Color = System.Drawing.Color.Black.ToArgb();
verts[2].SetPosition(new Vector4(this.Width/5.0f, this.Height - (this.Height / 5.0f), 0.5f, 1.0f));
verts[2] .Color = System.Drawing.Color.Purple.ToArgb();
device.Present();

Но этот код выдает ошибку (для Framework 2.0 нужно подправить код) вот мой вариант кода:
device.Clear(ClearFlags.Target, Color.Black, 1.0f, 0);

CustomVertex.TransformedColored[] verts = new CustomVertex.TransformedColored[3];
verts[0].Position.Add(new Vector4(this.Width / 2.0f, 50.0f, 0.5f, 1.0f));
verts[0].Color = System.Drawing.Color.Aqua.ToArgb();
verts[1].Position.Add(new Vector4(this.Width - (this.Width/5.0f), this.Height-(this.Height/5.0f), 0.5f, 1.0f));
verts[1].Color = System.Drawing.Color.Black.ToArgb();
verts[2].Position.Add(new Vector4(this.Width/5.0f, this.Height - (this.Height / 5.0f), 0.5f, 1.0f));
verts[2] .Color = System.Drawing.Color.Purple.ToArgb();
device.Present();

Вижу только черный экран :(
wildboar
Avatar пользователя

Опубликовано 30.09.2007 01:28 (17 лет назад)    #
Вместо: "Position.Add" пиши: "Position="
CustomVertex.TransformedColored[] verts = new CustomVertex.TransformedColored[3];
verts[0].Position = (new Vector4(this.Width / 2.0f, 50.0f, 0.5f, 1.0f));
verts[0].Color = System.Drawing.Color.Red.ToArgb();
verts[1].Position=(new Vector4(this.Width - (this.Width / 5.0f), this.Height - (this.Height / 5.0f), 0.5f, 1.0f));
verts[1].Color = System.Drawing.Color.Yellow.ToArgb();
verts[2].Position=(new Vector4(this.Width / 5.0f, this.Height - (this.Height / 5.0f), 0.5f, 1.0f));
verts[2].Color = System.Drawing.Color.Green.ToArgb();

device.BeginScene();
device.VertexFormat = CustomVertex.TransformedColored.Format;
device.DrawUserPrimitives(PrimitiveType.TriangleList, 1, verts);
device.EndScene();
device.Present();

ЗЫ: Удачи!

редакция от wildboar, 02.10.2007 19:49

DeVoid
Avatar пользователя

Опубликовано 30.09.2007 07:55 (17 лет назад)    #
Работает!!!! спасибо огромное! буду пробывать дальше учить этот сложный и непонятный Managed DirectX !!!
Перейти на форум:
Конкурсы
Открытые конкурсы:
Активных нет
Недавние конкурсы:
 185 - RPG XII
 184 - Arcade II
 183 - Novel
 182 - RPG XI
 181 - Pixel Craft 128
 Все конкурсы
Случайная игра
Мини-чат
Вам необходимо залогиниться.

Архив чата

25,365,169 уникальных посетителей

Создано на базе русской версии PHP-Fusion copyright © 2003-2006 by Nick Jones.
Released as free software under the terms of the GNU/GPL license.