OpenGL第七节:纹理绘制裁剪图片的指定部分

本文介绍了一种在OpenGL中使用纹理坐标和裁剪区域来绘制图像特定部分的方法。通过定义LFRect结构体,实现了对纹理的裁剪,并在LTexture类的render方法中调整纹理坐标和四边形尺寸以实现裁剪效果。在示例中,裁剪了四个角的图像部分并分别显示在屏幕的四个角落。
摘要由CSDN通过智能技术生成

LFRect.h//定义一个结构体,表示裁剪的区域

#ifndef LFRECT_H
#define LFRECT_H

#include "LOpenGL.h"

struct LFRect
{
  GLfloat x;//x
  GLfloat y;//y
  GLfloat w;//宽
  GLfloat h;//高
};

#endif

 

LTexture.h

void render( GLfloat x, GLfloat y, LFRect* clip = NULL );//渲染方法添加第三个参数,给它一个NULL的默认值

 

LTexture.cpp

void LTexture::render( GLfloat x, GLfloat y, LFRect* clip )
{
  if( mTextureID != 0 )
  {
  glLoadIdentity();//重置之前的所以变换操作
  GLfloat texTop = 0.f;//下面四句是纹理的坐标,水平方向0~1表示从左到右,竖直方向0~1表示从上到下
  GLfloat texBottom = 1.f;
  GLfloat texLeft = 0.f;
  GLfloat texRight = 1.f;

  GLfloat quadWidth = mTextureWidth;//四边形的宽
  GLfloat quadHeight = mTextureHeight;//高

 

  if(

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值