0
0
Fork 0
mirror of https://git.code.sf.net/p/quake/quakeforge synced 2025-03-22 18:31:27 +00:00

Implement alias model skin loading for glsl.

This commit is contained in:
Bill Currie 2011-12-25 11:26:28 +09:00
parent a7ad6c03f5
commit dcf2b14188
3 changed files with 26 additions and 53 deletions

View file

@ -25,7 +25,7 @@ noinst_LTLIBRARIES= $(gl) $(glsl) $(sw)
alias_src= model_alias.c
gl_src= gl_mesh.c gl_model_alias.c mod_flood.c
glsl_src= glsl_mesh.c glsl_model_alias.c mod_flood.c
glsl_src= glsl_model_alias.c mod_flood.c
sw_src= sw_model_alias.c
libalias_gl_la_SOURCES= $(gl_src) $(alias_src)

View file

@ -1,50 +0,0 @@
/*
glsl_mesh.c
Alias model mesh processing for GLSL
Copyright (C) 2011 Bill Currie <bill@taniwha.org>
Author: Bill Currie <bill@taniwha.org>
Date: 2011/12/23
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
static __attribute__ ((used)) const char rcsid[] = "$Id$";
#ifdef HAVE_STRING_H
# include <string.h>
#endif
#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
#include <stdio.h>
#include "QF/model.h"
void
Mod_MakeAliasModelDisplayLists (model_t *m, aliashdr_t *hdr, void *_m, int _s, int extra)
{
}

View file

@ -40,13 +40,30 @@ static __attribute__ ((used)) const char rcsid[] = "$Id$";
# include <strings.h>
#endif
#include <stdlib.h>
#include "QF/model.h"
#include "QF/GL/defines.h"
#include "QF/GL/funcs.h"
void *
Mod_LoadSkin (byte * skin, int skinsize, int snum, int gnum, qboolean group,
Mod_LoadSkin (byte *skin, int skinsize, int snum, int gnum, qboolean group,
maliasskindesc_t *skindesc)
{
return 0;
byte *tskin;
GLuint tnum;
tskin = malloc (skinsize);
memcpy (tskin, skin, skinsize);
Mod_FloodFillSkin (tskin, pheader->mdl.skinwidth, pheader->mdl.skinheight);
qfglGenTextures (1, &tnum);
skindesc->texnum = tnum;
qfglBindTexture (GL_TEXTURE_2D, skindesc->texnum);
qfglTexImage2D (GL_TEXTURE_2D, 0, GL_LUMINANCE,
pheader->mdl.skinwidth, pheader->mdl.skinheight,
0, GL_LUMINANCE, GL_UNSIGNED_BYTE, tskin);
free (tskin);
return skin + skinsize;
}
void
@ -58,3 +75,9 @@ void
Mod_LoadExternalSkins (model_t *mod)
{
}
void
Mod_MakeAliasModelDisplayLists (model_t *m, aliashdr_t *hdr, void *_m, int _s,
int extra)
{
}