Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2010, 07:39   #1
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию C# + directx

Взял книжечку...
нарисовал треугольничек... 2д вроде вышло а с 3д треугольничком никак
Что делаю не так... вот кодинг:
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.DirectX;
using Microsoft.DirectX.Direct3D;

namespace directx_steep2
    {
    public partial class Form1 : Form
        {
        private Device device = null;
        public void InitializeGraphics()
            {
            PresentParameters presentParams = new PresentParameters();
            presentParams.Windowed = true;
            presentParams.SwapEffect = SwapEffect.Discard;
            //device = new Device(0, DeviceType.Hardware, this.panel1, CreateFlags.SoftwareVertexProcessing, presentParams);
            device = new Device(0, DeviceType.Hardware, this, CreateFlags.SoftwareVertexProcessing, presentParams);
            }
        protected override void OnPaint(PaintEventArgs e)
            {
            device.Clear(ClearFlags.Target, System.Drawing.Color.CornflowerBlue, 1.0f, 0);

            CustomVertex.PositionColored[] verts = new CustomVertex.PositionColored[3];
            verts[0].SetPosition(new Vector3(0.0f, 1.0f, 1.0f));
            verts[0].Color = System.Drawing.Color.Aqua.ToArgb();
            verts[1].SetPosition(new Vector3(-1.0f, -1.0f, 1.0f));
            verts[1].Color = System.Drawing.Color.Red.ToArgb();
            verts[2].SetPosition(new Vector3(1.0f, -1.0f, 1.0f));
            verts[2].Color = System.Drawing.Color.Purple.ToArgb();
            device.BeginScene();
            device.VertexFormat = CustomVertex.PositionColored.Format;
            device.DrawUserPrimitives(PrimitiveType.TriangleList, 1, verts);
            device.EndScene();

            device.Present();
            //this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.Opaque, true);
            //this.Invalidate();
            //


            }
        private void SetupCamera()
            {
            device.Transform.Projection = Matrix.PerspectiveFovLH((float)Math.PI / 4, this.Width / this.Height, 1.0f, 100.0f);
            device.Transform.View = Matrix.LookAtLH(new Vector3(0, 0, 5.0f), new Vector3(), new Vector3(0, 1, 0));
            device.RenderState.Lighting = false;
            //device.Transform.World = Matrix.RotationZ((float)Math.PI / 6.0f);
            }
        public Form1()
            {
            InitializeComponent();
            }
        }
    }
и еще...
когда рисовал 2д триугольник пытался засунуть его в панельку...
Код:
device = new Device(0, DeviceType.Hardware, this.panel1, CreateFlags.SoftwareVertexProcessing, presentParams);
но вот это там не работает...
Код:
            this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.Opaque, true);
            this.Invalidate();
dampirik вне форума Ответить с цитированием
Старый 22.01.2010, 09:35   #2
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Хм вроде чтото вышло... но вот...так и осталось
Цитата:
и еще...
когда рисовал 2д триугольник пытался засунуть его в панельку...
Код:
device = new Device(0, DeviceType.Hardware, this.panel1, CreateFlags.SoftwareVertexProcessing, presentParams);
но вот это там не работает...

Код:
            this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.Opaque, true);
            this.Invalidate();
Хорошими книжечками, статьями не поделитесь..?
PS Managed DirectX 9 Программирование графики и игр
MSDN =)

Последний раз редактировалось dampirik; 22.01.2010 в 09:50.
dampirik вне форума Ответить с цитированием
Старый 22.01.2010, 10:07   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Оффтоп: Эх... А я только до GDI+ в ДотНЕТЕ дошел...
Дальше думал двигаться, но...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DirectX 9 НЕБО Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 18.01.2010 22:51
directx и C++ dampirik Общие вопросы C/C++ 4 20.11.2009 14:00
DirectX и С++ mrandrey Общие вопросы C/C++ 2 24.08.2009 14:46
С++ и DirectX Элодар Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 22.02.2009 00:23
DirectX Doom4eg Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 06.08.2008 13:08