Форум программистов, компьютерный форум CyberForum.ru

название библиотеки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Конструктор копирования http://www.cyberforum.ru/cpp-beginners/thread448388.html
Может быть глупый вопрос, а может я глупый... Конструктор копирования имеет такой синтаксис имякласса(const имякласса &){ тело конструктора } Почему параметр передается по ссылке?
C++ Перегрузка cout.operator<< Не компилируется программа. Проблема в перегрузке operator<< класса ostream. Как его правильно определить в виде шаблона? Правильно ли делать класс исключения вложенным в шаболонный класс контейнера? Есть ли возможность написать обработчик для всех специализаций шаблона? (catch(Stack<T>::Bad_index){} ) #include <iostream> #include <cstdlib> #include <exception> using namespace std; ... http://www.cyberforum.ru/cpp-beginners/thread448384.html
C++ по поводу указателей. Как правильно задавать массив указателей и его удалять?
Т.е., например создаю указатель: TPoint *p_Point=NULL; а если массив? TPoint *p_MassPoint; //=?; как массив обнулить не ясно дальше. не понятно как обнулять массив указателей после использования. я делал так: for (short i=0; i<4; i++) { p_MassPoint=NULL; } - не оч красиво. Спасибо за помощь!
C++ Определить тип треугольника.
Задан треугольник с углами a, b и g. Определить тип треугольника — остроугольный, прямоугольный или тупоугольный.
C++ База данных Access, visual studio 2008 и C http://www.cyberforum.ru/cpp-beginners/thread448343.html
Всем привет! Нужен ваш совет! К примеру у меня имеется БД (Aсcess), которая подключена к проекту... Поясните как мне сделать следующие: 1. Повесить обработчик на нажатие кнопки. 2. Сделать запрос к базе банных и осуществить выборку сотрудников. 3. Отобразить результат запроса - список сотрудников - на форме.
C++ Не могу найти ошибку. Добрый день всем! Опять у меня проблемы с моими "любимыми" шаблонами. Есть две шаблонные функции печатающие содержимое списка. Первая для любого типа, вторая для char. В ней возникают такие ошибки: 15/15-06/List.h||In member function ‘void List<T>::printList() const ’:| 15/15-06/List.h|97|error: invalid use of incomplete type ‘struct ListNode<char>’| 15/15-06/List.h|5|error: declaration... подробнее

Показать сообщение отдельно
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
18.02.2012, 16:01     название библиотеки
как называется библиотека в которой описана функция D3DXCreateTeapot ?

Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
#include <windows.h>
#include <d3d9.h>
#include <d3dx9mesh.h>
 
 
 
 
 
class SampleApplication
{
  IDirect3D9       *pD3D;
  IDirect3DDevice9 *pDevice;
  ID3DXMesh        *pTeapot;
  HWND             hWnd;
 
  static LRESULT WINAPI MsgProc(HWND, UINT, WPARAM, LPARAM);
  bool   CreateMainWindow();
  void   CreateTeapot();
 
public:
 
  SampleApplication(): 
  pD3D(NULL), pDevice(NULL), pTeapot(NULL), hWnd(NULL){}
  bool InitD3D();
  void CleanupD3D();
  void Render();
  void MessagePump();
};
 
static SampleApplication g_App;
 
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
  if(g_App.InitD3D())
  {
    g_App.MessagePump();
    g_App.CleanupD3D();
  }
  return 0;
}
 
bool SampleApplication::CreateMainWindow()
{
  // Регистрация класса окна
  WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, 
                  MsgProc, 0L, 0L, 
                  GetModuleHandle(NULL), NULL, NULL, 
                  NULL, NULL,
                  "Direct3D Class", NULL };
 
  RegisterClassEx( &wc );
 
  // Создание окна приложения
  hWnd = CreateWindow( "Direct3D Class", 
                     "Direct3D для чайников", 
                     WS_OVERLAPPEDWINDOW, 
                     100, 100, 400, 300,
                     GetDesktopWindow(), NULL, 
                     wc.hInstance, 0 );
  if(!hWnd)
  {
    MessageBox(0, "Ошибка создания главного окна", 
           0, MB_OK|MB_ICONSTOP);
    return false;
  }
  return true;
} 
 
void SampleApplication::MessagePump()
{
  MSG msg;
  while(GetMessage(&msg, 0, 0, 0))
  {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
  }
}
  LRESULT WINAPI SampleApplication::MsgProc(
    HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
  g_App.hWnd = hWnd;
  switch( msg )
  {
    case WM_DESTROY:
      PostQuitMessage( 0 );
      return 0;
 
    case WM_PAINT:
    {
      PAINTSTRUCT ps;
      BeginPaint(hWnd, &ps);
      g_App.Render();
      EndPaint(hWnd, &ps);
      return 0;
    }
  }
  return DefWindowProc(g_App.hWnd, msg, wParam, lParam);
}
bool SampleApplication::InitD3D()
{
  if(!CreateMainWindow())
    return false;
 
  pD3D = Direct3DCreate9(D3D_SDK_VERSION);
 
  if(!pD3D)
    return false;
 
  D3DPRESENT_PARAMETERS params; 
  ZeroMemory( &params, sizeof(params) );
  params.Windowed = TRUE;
  params.SwapEffect = D3DSWAPEFFECT_DISCARD;
  params.BackBufferFormat = D3DFMT_UNKNOWN;
 
  HRESULT hr = pD3D->CreateDevice(
    D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
    D3DCREATE_SOFTWARE_VERTEXPROCESSING,
    &params, &pDevice);
  if(FAILED(hr))
  {
    pD3D->Release();
    pD3D = 0;
    return false;
  }
 
 // D3DXCreateTeapot(pDevice, &pTeapot, 0);
 
  ShowWindow(hWnd, SW_SHOWDEFAULT);
  UpdateWindow(hWnd);
 
  return true;
}
void SampleApplication::CleanupD3D()
{
  if(pTeapot)
    pTeapot->Release();
  if(pDevice)
    pDevice->Release();
  if(pD3D)
    pD3D->Release();
}
 
void SampleApplication::Render()
{
  if(pDevice)
  {
    // Очистим область вывода темно-синим цветом
    pDevice->Clear( 0, NULL, 
      D3DCLEAR_TARGET, 
      D3DCOLOR_XRGB(0,0,128), 0.0f, 0 );
 
    // Рисуем сцену
    if( SUCCEEDED( pDevice->BeginScene() ) )
    {
      // создаем источник света
      D3DLIGHT9 light=
        { D3DLIGHT_DIRECTIONAL, // бесконечно удаленный источник
          {1,1,0,0},            // диффузное освещение: желтый цвет
          {0,0,0,0},            
          {0.1f,0.1f,0.1f,1},   // рассеянный свет: тусклый белый 
          {0,0,0},              
          {7,-2,1}              // вектор направления
        } ;
 
      pDevice->SetLight( 1, &light ) ;
      pDevice->LightEnable( 1, TRUE ) ;
      
      // создаем материал
      D3DMATERIAL9 material = { 
          {1,1,1,1}  
        , {1,1,1,1}  
        , {1,1,1,1}  
        , {0,0,0,0}  
        , 1          
        } ;
      pDevice->SetMaterial( &material ) ;
 
      float scale = 0.4f;
      D3DMATRIX transform = { 
        scale,      0.0f,        0.0f,        0.0f,
        0.0f,       scale,       0.0f,        0.0f,
        0.0f,       0.0f,        scale,       0.0f,
        0.0f,       0.0f,        1.0f,        1.0f
      };
 
      pDevice->SetTransform(D3DTS_WORLD, &transform);
 
      pTeapot->DrawSubset(0);
      pDevice->EndScene();
    }
 
    // Выводим содержимое вторичного буфера
    pDevice->Present( NULL, NULL, NULL, NULL );
  }
}
и почему без функции создания чайника прога не работает(происходит ошибка приложения)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru