Модераторы: Rickert, Alexeis, BorisVorontsov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Наложение текстур OpenGL, текстуры 
:(
    Опции темы
DKey
Дата 4.1.2007, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 31.12.2006
Где: Юкрэйн

Репутация: нет
Всего: нет



Здрасте ещё раз! Извените за "флуд")... 

А как наложить текстуру на какой-то обьект так что-бы функций было поменьше, всё было понятно и меньше задавать всяких параметров? Если можно, напишите пример... 3@ p@HHee cn@ci60...
PM MAIL ICQ   Вверх
maksr
Дата 4.1.2007, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lizard King
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 17.2.2005
Где: Нижний Новгород

Репутация: нет
Всего: 1



Уроки NeHe - возможно это тебе поможет.  smile 
PM MAIL ICQ   Вверх
DKey
Дата 4.1.2007, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 31.12.2006
Где: Юкрэйн

Репутация: нет
Всего: нет



Спасибо, почитаю!) smile 
PM MAIL ICQ   Вверх
AssassinFX
Дата 5.1.2007, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 2.1.2007

Репутация: 3
Всего: 3



DKey, www.UltimategameProgramming.com
                    www.PaulsProjects.net
ЗЫ Юкрэйн - я тоже от туда smile 
PM MAIL   Вверх
DKey
Дата 5.1.2007, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 31.12.2006
Где: Юкрэйн

Репутация: нет
Всего: нет



AssassinFX, спасибо!

ЗЫ Надож - круто тебе! smile 
PM MAIL ICQ   Вверх
DKey
Дата 6.1.2007, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 31.12.2006
Где: Юкрэйн

Репутация: нет
Всего: нет



 smile  smile  smile Напишите пожалуста готовый исходник примитивной программы типа 2d - квадрат с текстурой... please  smile 
PM MAIL ICQ   Вверх
AssassinFX
Дата 9.1.2007, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 2.1.2007

Репутация: 3
Всего: 3



DKey,А чем тебя неустроил пример с сайта www.UltimategameProgramming.com,ты спрашивай нестисняйся  smile 
PM MAIL   Вверх
DKey
Дата 12.1.2007, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 31.12.2006
Где: Юкрэйн

Репутация: нет
Всего: нет



AssassinFX, Просто хотелось-бы без использования библиотек glaux и windows... Они у мя некомпиляться smile  smile  smile 


Это сообщение отредактировал(а) DKey - 12.1.2007, 00:32
PM MAIL ICQ   Вверх
AssassinFX
Дата 12.1.2007, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 2.1.2007

Репутация: 3
Всего: 3



DKey, А что у тебя за компил?
А счего ты взял что здесь используется глаукс или вин?
Код

#ifndef CTGALOADER_H
#define CTGALOADER_H

#include<stdio.h>


class CTGALoader
{
   public:
      CTGALoader();
      ~CTGALoader();



      bool LoadTGA(char *file);
      void FreeImage();

      unsigned int ID;
      int imageWidth;
      int imageHeight;
      unsigned char *image;
      int type;
};

#endif


Код

#include"CTgaLoader.h"
#include<string.h>


CTGALoader::CTGALoader()
{
   // Give everything default values.
  image = 0;
  type = 0;
  ID = -1;
  imageWidth = 0;
  imageHeight = 0;
}


CTGALoader::~CTGALoader()
{
   FreeImage();
}


bool CTGALoader::LoadTGA(char* file)
{
   FILE *pfile;
   unsigned char tempColor;
   unsigned char bitCount;
   int colorMode;
   long tgaSize;
   unsigned char unCompressHeader[12] = {0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   unsigned char tgaHeader[12];
   unsigned char header[6];

   // Open the file.
   if(!file) return false;
   pfile = fopen(file, "rb");
   if(!pfile) return false;

   // Read the header.
   fread(tgaHeader, 1, sizeof(tgaHeader), pfile);

   // We only want to read uncompressed tga's.  Compare the header
   // with data that would be in a uncompressed header.
   if(memcmp(unCompressHeader, tgaHeader, sizeof(unCompressHeader)) != 0)
       {
           fclose(pfile);
           return false;
       }

   // Read image info.
   fread(header, 1, sizeof(header), pfile);

   // Calculate and save the width and height.
   imageWidth = header[1] * 256 + header[0];
   imageHeight = header[3] * 256 + header[2];

   bitCount = header[4];

   // calculate the color mode and image size.
   colorMode = bitCount / 8;
   tgaSize = imageWidth * imageHeight * colorMode;

   // Allocate data for the image and load it.
   image = new unsigned char[sizeof(unsigned char) * tgaSize];
   fread(image, sizeof(unsigned char), tgaSize, pfile);

   // Convert from BGR to RGB format.
   for(long index = 0; index < tgaSize; index += colorMode)
       {
           tempColor = image[index];
           image[index] = image[index + 2];
           image[index + 2] = tempColor;
       }

   fclose(pfile);

   if(colorMode == 3) type = 3;
   else type = 4;

   return true;
}


void CTGALoader::FreeImage()
{
   // When the application is done delete all memory.
   if(image)
      {
         delete[] image;
         image = NULL;
      }
}



Это сообщение отредактировал(а) AssassinFX - 12.1.2007, 10:53
PM MAIL   Вверх
DKey
Дата 12.1.2007, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 31.12.2006
Где: Юкрэйн

Репутация: нет
Всего: нет



У меня Dev C++, код неработает... просто некомпилит smile 
PM MAIL ICQ   Вверх
AssassinFX
Дата 12.1.2007, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 2.1.2007

Репутация: 3
Всего: 3



DKey, Всмысле некомпилит? smile Поподробнее.Ошибки какие то или что?
PM MAIL   Вверх
DKey
Дата 13.1.2007, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 31.12.2006
Где: Юкрэйн

Репутация: нет
Всего: нет



AssassinFX, Оно нормально компилит просто, компилит в dll smile ... а хоцца exe.. Я с dll ниразу неработал smile 

Это сообщение отредактировал(а) DKey - 13.1.2007, 21:38
PM MAIL ICQ   Вверх
AssassinFX
Дата 14.1.2007, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 2.1.2007

Репутация: 3
Всего: 3



DKey,Не чуди,это как так компилит в dll  smile просто так компилятор в dll компилить небудет,он будет компилить только с твоей подачки(например указал в параметрах проекта сборку в dll).


Это сообщение отредактировал(а) AssassinFX - 14.1.2007, 13:31
PM MAIL   Вверх
DKey
Дата 14.1.2007, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 31.12.2006
Где: Юкрэйн

Репутация: нет
Всего: нет



AssassinFX, ща воообще перстал компилить, пишет:

In constructor `CTGALoader::CTGALoader()': 
[Warning] converting of negative value `-0x000000001' to `unsigned int' 
[Linker error] undefined reference to `WinMain@16' 
ld returned 1 exit status 
[Build Error]  [1.exe] Error 1 


Буду искать другую среду...
PM MAIL ICQ   Вверх
AssassinFX
Дата 14.1.2007, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 2.1.2007

Репутация: 3
Всего: 3



DKey, Маленький экскурс в создание проектов Dev-C++ smile 
Файл->Создать->Проект->Windows Application
Потом слева есть такая штука ПРОЕКТ(там где обзор файлов проекта,там ещё твоё название проекта)так вот нажимаем правой кнопкой по названию проекта и выбираем "Добавить к проекту",кстати перед этим надо положить файлы CTGALoader.cpp/h в папку с проектом,и добовляем эти файлы к проекту,значит дальше переходим в файл main.cpp и пишем include "CTGALoader.h" потом юзаем класс,всё.
Цитата

[Linker error] undefined reference to `WinMain@16' 
Код




Ошибка из за отсутсвия точки входа в программу,вслучаи с Windows Application это 
Код

WINAPI WinMain

Еслиб это было Console App то в таком случаи точка входа была б main.
Значит как я запихиваю функции в dll во первых для облегчения делаю следующие
Код

#ifdef HORIZON_EXPORTS
#define HORIZON_API __declspec(dllexport)
#else
#define HORIZON_API __declspec(dllimport)
#endif

естевственно нужно создать DLL проект
теперь выписка из движка HORIZON, © Blinov Andrey
Код

//.H File
#include "types.h"//здесь находится #ifdef HORIZON_EXPORTS и тд.
HORIZON_API class CD3DDevice:public INullDevice
{
public:
    HORIZON_API CD3DDevice(void);
public:
    HORIZON_API ~CD3DDevice(void);
public:
    HORIZON_API void CreateDevice(core::CSystem* window);

};
//.CPP File
HORIZON_API CD3DDevice:: CD3DDevice(void)
{
}

HORIZON_API CD3DDevice:: ~CD3DDevice(void)
{
}
HORIZON_API void CD3DDevice::CreateDevice(core::CSystem* window)
{
    
}

До невозможности упростил класс 8)
Значит потом в приложении в котором хотим заюзать эту длл пишем 
#include "horizon.h"//тут подключаются все .h файлы движка
#pragma comment(lib,"horizon.lib")//линкуем длл
Это всё ИМХО мне просто так удобно это делать 8)




PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0840 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.