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

С одной cpp в другую - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Win32 API, LRESULT CALLBACK, ошибки http://www.cyberforum.ru/cpp-beginners/thread621464.html
Помогите исправить ошибки #include<windows.h> #include<commctrl.h> const IDM_Enable_Disable=0; const IDM_Exit=1; const IDM_About=2; const IDP_File=3; const IDP_Help=4; char* pMessages=
C++ Сортировать массивы по возрастанию и по убыванию. 1. Дано одномерный массив, состоящий из 20и элементов. Сортировать эти массивы по возрастанию и по убыванию. Например: Дано:1 4 7 2 5 8 3 6 9 10 15 13 12 14 11 В Итоге: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 http://www.cyberforum.ru/cpp-beginners/thread621456.html
Функции для работы с ole2 strorage C++
Народ, кто-нибудь может подсказать функцию для работы с ole2 strorage, аналогичную StgOpenStorage(), которой можно было бы пользоваться под линуксом?
Сортировать по возрастанию(по алфавиту) C++
2. Символьный массив, состоящий из 15и символов. Сортировать их по возрастанию(по алфавиту). Например: Дано: ф а п р б г д . . . . В итоге:а б г д п р ф . . . .
C++ Состояние системы питания ноутбука http://www.cyberforum.ru/cpp-beginners/thread621421.html
Пишу консольную программку для определения состояния питания ноутбука (остаток заряда батареи, уровень заряда и т.п.). Но есть один вопрос. Хотелось бы узнать, с помощью какой функции можно реализовать обнаружение подключения компьютера к электросети. Находила подобный пример для Делфи: //..подключение к сети case status.ACLineStatus of 0: AddParam('Подключение к сети',...
C++ Перемножение матриц Доброго времени суток. Подскажите как разобраться с перемножением матриц, если есть 2 матрицы размерностью МхМ (М = 2000-5000), элементами которых являются в свою очередь матрицы NxN (N = 4); Как перемножить 2 простые матрицы я знаю, но как представить матрицу в матрице, и сделать умножение... Преподаватель говорил что то на счет ссылок вроде. Может есть у кого какие соображения прошу... подробнее

Показать сообщение отдельно
dmScript
Сообщений: n/a
09.07.2012, 18:36     С одной cpp в другую
Господа, вот ниже два куска кода, как сделать так чтобы результат ARB_multitexture_supported приходил во вторую cppшку? В общем как ее туда правильно перекинуть?
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
bool SetUpARB_multitexture()
{
    bool ARB_multitexture_supported=false;
    //Check for support
    char * extensionString=(char *)glGetString(GL_EXTENSIONS);
    char * extensionName="GL_ARB_multitexture";
 
    char * endOfString;                                 //store pointer to end of string
    unsigned int distanceToSpace;                       //distance to next space
 
    endOfString=extensionString+strlen(extensionString);
 
    //loop through string
    while(extensionString<endOfString)
    {
        //find distance to next space
        distanceToSpace=strcspn(extensionString, " ");
 
        //see if we have found extensionName
        if((strlen(extensionName)==distanceToSpace) &&
            (strncmp(extensionName, extensionString, distanceToSpace)==0))
        {
            ARB_multitexture_supported=true;
        }
 
        //if not, move on
        extensionString+=distanceToSpace+1;
    }
    
    if(!ARB_multitexture_supported)
    {
        //printf("ARB_multitexture unsupported!\n");
        return false;
    }
 
    //printf("ARB_multitexture supported!\n");
 
    //get function pointers
    glActiveTextureARB          =   (PFNGLACTIVETEXTUREARBPROC)
                                    wglGetProcAddress("glActiveTextureARB");
    glClientActiveTextureARB    =   (PFNGLCLIENTACTIVETEXTUREARBPROC)
                                    wglGetProcAddress("glClientActiveTextureARB");
    glMultiTexCoord1dARB        =   (PFNGLMULTITEXCOORD1DARBPROC)
                                    wglGetProcAddress("glMultiTexCoord1dARB");
    glMultiTexCoord1dvARB       =   (PFNGLMULTITEXCOORD1DVARBPROC)
                                    wglGetProcAddress("glMultiTexCoord1dvARB");
    glMultiTexCoord1fARB        =   (PFNGLMULTITEXCOORD1FARBPROC)
                                    wglGetProcAddress("glMultiTexCoord1fARB");
    glMultiTexCoord1fvARB       =   (PFNGLMULTITEXCOORD1FVARBPROC)
                                    wglGetProcAddress("glMultiTexCoord1fvARB");
    glMultiTexCoord1iARB        =   (PFNGLMULTITEXCOORD1IARBPROC)
                                    wglGetProcAddress("glMultiTexCoord1iARB");
    glMultiTexCoord1ivARB       =   (PFNGLMULTITEXCOORD1IVARBPROC)
                                    wglGetProcAddress("glMultiTexCoord1ivARB");
    glMultiTexCoord1sARB        =   (PFNGLMULTITEXCOORD1SARBPROC)
                                    wglGetProcAddress("glMultiTexCoord1sARB");
    glMultiTexCoord1svARB       =   (PFNGLMULTITEXCOORD1SVARBPROC)
                                    wglGetProcAddress("glMultiTexCoord1svARB");
    glMultiTexCoord2dARB        =   (PFNGLMULTITEXCOORD2DARBPROC)
                                    wglGetProcAddress("glMultiTexCoord2dARB");
    glMultiTexCoord2dvARB       =   (PFNGLMULTITEXCOORD2DVARBPROC)
                                    wglGetProcAddress("glMultiTexCoord2dvARB");
    glMultiTexCoord2fARB        =   (PFNGLMULTITEXCOORD2FARBPROC)
                                    wglGetProcAddress("glMultiTexCoord2fARB");
    glMultiTexCoord2fvARB       =   (PFNGLMULTITEXCOORD2FVARBPROC)
                                    wglGetProcAddress("glMultiTexCoord2fvARB");
    glMultiTexCoord2iARB        =   (PFNGLMULTITEXCOORD2IARBPROC)
                                    wglGetProcAddress("glMultiTexCoord2iARB");
    glMultiTexCoord2ivARB       =   (PFNGLMULTITEXCOORD2IVARBPROC)
                                    wglGetProcAddress("glMultiTexCoord2ivARB");
    glMultiTexCoord2sARB        =   (PFNGLMULTITEXCOORD2SARBPROC)
                                    wglGetProcAddress("glMultiTexCoord2sARB");
    glMultiTexCoord2svARB       =   (PFNGLMULTITEXCOORD2SVARBPROC)
                                    wglGetProcAddress("glMultiTexCoord2svARB");
    glMultiTexCoord3dARB        =   (PFNGLMULTITEXCOORD3DARBPROC)
                                    wglGetProcAddress("glMultiTexCoord3dARB");
    glMultiTexCoord3dvARB       =   (PFNGLMULTITEXCOORD3DVARBPROC)
                                    wglGetProcAddress("glMultiTexCoord3dvARB");
    glMultiTexCoord3fARB        =   (PFNGLMULTITEXCOORD3FARBPROC)
                                    wglGetProcAddress("glMultiTexCoord3fARB");
    glMultiTexCoord3fvARB       =   (PFNGLMULTITEXCOORD3FVARBPROC)
                                    wglGetProcAddress("glMultiTexCoord3fvARB");
    glMultiTexCoord3iARB        =   (PFNGLMULTITEXCOORD3IARBPROC)
                                    wglGetProcAddress("glMultiTexCoord3iARB");
    glMultiTexCoord3ivARB       =   (PFNGLMULTITEXCOORD3IVARBPROC)
                                    wglGetProcAddress("glMultiTexCoord3ivARB");
    glMultiTexCoord3sARB        =   (PFNGLMULTITEXCOORD3SARBPROC)
                                    wglGetProcAddress("glMultiTexCoord3sARB");
    glMultiTexCoord3svARB       =   (PFNGLMULTITEXCOORD3SVARBPROC)
                                    wglGetProcAddress("glMultiTexCoord3svARB");
    glMultiTexCoord4dARB        =   (PFNGLMULTITEXCOORD4DARBPROC)
                                    wglGetProcAddress("glMultiTexCoord4dARB");
    glMultiTexCoord4dvARB       =   (PFNGLMULTITEXCOORD4DVARBPROC)
                                    wglGetProcAddress("glMultiTexCoord4dvARB");
    glMultiTexCoord4fARB        =   (PFNGLMULTITEXCOORD4FARBPROC)
                                    wglGetProcAddress("glMultiTexCoord4fARB");
    glMultiTexCoord4fvARB       =   (PFNGLMULTITEXCOORD4FVARBPROC)
                                    wglGetProcAddress("glMultiTexCoord4fvARB");
    glMultiTexCoord4iARB        =   (PFNGLMULTITEXCOORD4IARBPROC)
                                    wglGetProcAddress("glMultiTexCoord4iARB");
    glMultiTexCoord4ivARB       =   (PFNGLMULTITEXCOORD4IVARBPROC)
                                    wglGetProcAddress("glMultiTexCoord4ivARB");
    glMultiTexCoord4sARB        =   (PFNGLMULTITEXCOORD4SARBPROC)
                                    wglGetProcAddress("glMultiTexCoord4sARB");
    glMultiTexCoord4svARB       =   (PFNGLMULTITEXCOORD4SVARBPROC)
                                    wglGetProcAddress("glMultiTexCoord4svARB");
 
    return true;
}
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
#include "KSA_MultiTexture.h"
 
KSA_MultiTexture::KSA_MultiTexture(GLuint ID1, GLuint ID2, float scale) : texture1(ID1), texture2(ID2), scale(scale)
{
 
}
 
KSA_MultiTexture::~KSA_MultiTexture()
{
    Unload();
}
 
bool KSA_MultiTexture::GLBind()
{
    if (ARB_multitexture_supported)
    {
        glColor3f(255.0f,255.0f,255.0f);
        glEnable(GL_TEXTURE_2D);
 
        glActiveTextureARB(GL_TEXTURE0_ARB);
        glEnable(GL_TEXTURE_2D);
        glBindTexture(GL_TEXTURE_2D, texture1);
 
        glActiveTextureARB(GL_TEXTURE1_ARB);
        glEnable(GL_TEXTURE_2D);
        
        glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB);
        glTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE_ARB, 2);
        
        glBindTexture(GL_TEXTURE_2D, texture2);
    
        glMatrixMode(GL_TEXTURE);
 
            glLoadIdentity();
            glScalef(scale, scale, 1);
 
        glMatrixMode(GL_MODELVIEW);
    return 1;
    }
    else
    {
        glColor3f(255.0f,255.0f,255.0f);
        glActiveTextureARB ( GL_TEXTURE0_ARB );
        glEnable           ( GL_TEXTURE_2D );
        glEnable    ( GL_ALPHA_TEST );
        glAlphaFunc ( GL_GEQUAL, 0.5 );
 
        glMatrixMode(GL_TEXTURE);
        
            glLoadIdentity();
            glScalef(scale, scale, 1);
 
        glMatrixMode(GL_MODELVIEW);
        
        glBindTexture(GL_TEXTURE_2D, texture1 );
    return 1;
    }
}
 
void KSA_MultiTexture::GLCoord(float u, float v)
{
    if (ARB_multitexture_supported)
    {
        glMultiTexCoord2fARB(GL_TEXTURE0_ARB, u, v);
        glMultiTexCoord2fARB(GL_TEXTURE1_ARB, u, v);
    }
    else
    {
        glMultiTexCoord2fARB(GL_TEXTURE0_ARB, u, v);
    }
}
 
void KSA_MultiTexture::Unload()
{
    if (ARB_multitexture_supported)
        {
        glDeleteTextures (1, &texture1);
        glDeleteTextures (1, &texture2);
    }
    else
    {
        glDeleteTextures (1, &texture1);
    }
}
 
bool KSA_MultiTexture::IsCorrect()
{
    return glIsTexture(texture1)&&glIsTexture(texture2);
}
 
GLuint KSA_MultiTexture::GetID()
{
    return texture1;
}
 
void KSA_MultiTexture::Release()
{
 
    if (ARB_multitexture_supported)
    {
        glActiveTextureARB(GL_TEXTURE1_ARB);
        glDisable(GL_TEXTURE_2D);
 
        glActiveTextureARB(GL_TEXTURE0_ARB);        
        glDisable(GL_TEXTURE_2D);
 
        glEnable(GL_TEXTURE_2D);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
    }
    else
    {
        glActiveTextureARB(GL_TEXTURE1_ARB);
        glDisable(GL_TEXTURE_2D);
 
        glEnable(GL_TEXTURE_2D);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru