Azure Product
浏览模式: 普通 | 列表
分类: OpenGL | < | 1 | 2 | 3 | 4 | 5 |

ALPHA TEST来实现透明纹理

[ 2005-06-16 00:22:47 | 作者: Admin ]
将你原始的图片,透明部分用RGB(0,0,0)(黑色)填充.
不要使用有损压缩的图片,如JPG格式.不然效果会很差的.
然后在初始化OGL的地方,加入如下代码:
  glAlphaFunc(GL_GREATER,0.1f);  // Set Alpha Testing (To Make Black Transparent)
  glEnable(GL_ALPHA_TEST);  // Enable Alpha Testing (To Make Black Transparent)

效果图:
uploads/200506/16_002324_trans.jpg

IPICTURE 基本代码

[ 2005-06-16 00:10:15 | 作者: Admin ]
纹理载入函数, 可以载入 BMP, EMF, GIF, ICO, JPG, WMF 等格式, 还可以载入网上的图片.

首先包含两个头文件
#include <olectl.h>              
#include <math.h>              
int BuildTexture(char *szPathName, GLuint &texid)            // Load Image And Convert To A Texture
{
  HDC      hdcTemp;                        // The DC To Hold Our Bitmap
  HBITMAP    hbmpTemp;                        // Holds The Bitmap Temporarily
  IPicture  *pPicture;                        // IPicture Interface
...

阅读全文...

创键一个CUBE MAP.

[ 2005-06-15 23:48:00 | 作者: Admin ]
代码不全,只是个粗略的步骤,不能直接应用到程序中.
GLuint cubemap;
glGenTextures(1, &cubemap);
glBindTexture(GL_TEXTURE_CUBE_MAP_ARB);
for (int i = 0; i < 6; i++)
 glTexImage2D(TEXTURE_CUBE_MAP_POSITIVE_X_ARB + i, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, cubeFaces[i]);
cgGLSetTextureParameter(cgGetNamedParameter(pixelShader, envMap), cubemap);

OGL取得显卡信息

[ 2005-06-15 23:09:33 | 作者: Admin ]
得到显卡品牌
(char*)glGetString(GL_RENDERER);

得到显卡制造商
(char*)glGetString(GL_VENDOR);

得到OGL的版本号
(char*)glGetString(GL_VERSION);

因为glGetString()返回类型是 GLubyte * ,所以要变成字符串须要强制转换 (char*) glGetString().

推荐日志 OGL的一个读3DS文件的类

[ 2005-06-14 01:04:45 | 作者: Admin ]
注释都很详细,可以直接拿来用.
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <fstream>
#include <vector>
#include <gl\gl.h>
#include <gl\glu.h>
#include <gl\glaux.h>
#include <crtdbg.h>

#include <olectl.h>
#include <math.h>

using namespace std;

#define MAX_TEXTURES 100 // 最大的纹理数目
...

阅读全文...

OGL环境下,3D视野和2D视野之间的切换

[ 2005-06-14 00:59:01 | 作者: Admin ]
第一个函数是开始2D视野,第二个函数是开始3D视野.
//----------------------------------------------------------------------------
//Begin the ortho view
//----------------------------------------------------------------------------
void BeginOrthoView()
{
  glMatrixMode(GL_PROJECTION);
  glPushMatrix();
  glLoadIdentity();
  gluOrtho2D(0, 800, 0, 600);
  glMatrixMode(GL_MODELVIEW);
  glPushMatrix();
  glLoadIdentity();
...

阅读全文...
< | 1 | 2 | 3 | 4 | 5 |
ħ˽ ħ˽ : ϲ ϲվ ϲʿ ϲʿ ϲʿ ϲվ ϲ ϲվ ϲ ϲ ͸۾ ˽ ѾѾַ document.write("");