Author: cjcollier
Date: 2006-06-18 18:57:00 -0400 (Sun, 18 Jun 2006)
New Revision: 61828
Added:
trunk/gtkglarea-sharp/examples/MdlLoader/
trunk/gtkglarea-sharp/examples/MdlLoader/Engine.cs
trunk/gtkglarea-sharp/examples/MdlLoader/GladeExample.cs
trunk/gtkglarea-sharp/examples/MdlLoader/Makefile
trunk/gtkglarea-sharp/examples/MdlLoader/Makefile.am
trunk/gtkglarea-sharp/examples/MdlLoader/Makefile.in
trunk/gtkglarea-sharp/examples/MdlLoader/MdlLoader.cs
trunk/gtkglarea-sharp/examples/MdlLoader/MdlLoader.mdp
trunk/gtkglarea-sharp/examples/MdlLoader/README
trunk/gtkglarea-sharp/examples/MdlLoader/mdl.c
trunk/gtkglarea-sharp/examples/MdlLoader/mdl.h
Log:
- Created a working tree. It doesn't actually do anything yet, but
it's the building blocks of a working set of code
Added: trunk/gtkglarea-sharp/examples/MdlLoader/Engine.cs
===================================================================
--- trunk/gtkglarea-sharp/examples/MdlLoader/Engine.cs 2006-06-18 19:05:51 UTC
(rev 61827)
+++ trunk/gtkglarea-sharp/examples/MdlLoader/Engine.cs 2006-06-18 22:57:00 UTC
(rev 61828)
@@ -0,0 +1,22 @@
+using GtkGL;
+
+namespace GladeExample {
+ using System;
+
+ public class Engine {
+ public static int Main (string[] args)
+ {
+ Gtk.Application.Init ();
+
+ GtkGL.GladeExample ge = new GtkGL.GladeExample ();
+
+ // Show the GL widget window
+ ge.window.Show();
+ ge.glw.Show();
+
+ Gtk.Application.Run ();
+
+ return 0;
+ }
+ }
+}
Added: trunk/gtkglarea-sharp/examples/MdlLoader/GladeExample.cs
===================================================================
--- trunk/gtkglarea-sharp/examples/MdlLoader/GladeExample.cs 2006-06-18
19:05:51 UTC (rev 61827)
+++ trunk/gtkglarea-sharp/examples/MdlLoader/GladeExample.cs 2006-06-18
22:57:00 UTC (rev 61828)
@@ -0,0 +1,44 @@
+// project created on 11/25/2005 at 10:32 PM
+using System;
+using Gtk;
+using Glade;
+using GtkGL;
+
+namespace GtkGL
+{
+ public class GladeExample
+ {
+ public GLWidget glw;
+ public Gtk.Window window;
+
+ public GladeExample ()
+ {
+ Glade.XML gxml = new Glade.XML (null, "glwidget.glade",
"glwidget", null);
+
+ // Connect the Signals defined in Glade
+ gxml.Autoconnect (this);
+
+ // Create a new glw widget and request a size
+ glw = new GLWidget ();
+
+ // Create a new Vertical Box that the glw can live in
+ VBox vb = (Gtk.VBox)gxml["vbox1"];
+
+ // Pack the glw widget into the VBox
+ vb.PackStart (glw);
+
+ window = (Gtk.Window)gxml["glwidget"];
+ }
+
+ private void OnQuit (object o, System.EventArgs e){
+ Application.Quit();
+ }
+
+ private void OnWindowDeleteEvent (object sender,
DeleteEventArgs a)
+ {
+ Application.Quit ();
+ a.RetVal = true;
+ }
+ }
+
+}
\ No newline at end of file
Added: trunk/gtkglarea-sharp/examples/MdlLoader/Makefile
===================================================================
--- trunk/gtkglarea-sharp/examples/MdlLoader/Makefile 2006-06-18 19:05:51 UTC
(rev 61827)
+++ trunk/gtkglarea-sharp/examples/MdlLoader/Makefile 2006-06-18 22:57:00 UTC
(rev 61828)
@@ -0,0 +1,359 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# examples/MdlLoader/Makefile. Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+srcdir = .
+top_srcdir = ../..
+
+pkgdatadir = $(datadir)/gtkglarea-sharp
+pkglibdir = $(libdir)/gtkglarea-sharp
+pkgincludedir = $(includedir)/gtkglarea-sharp
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i686-pc-linux-gnu
+host_triplet = i686-pc-linux-gnu
+target_triplet = i686-pc-linux-gnu
+subdir = examples/MdlLoader
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/cjcollier/src.offline/svn/gtkglarea-sharp.mdl/missing
--run aclocal-1.9
+AMDEP_FALSE = #
+AMDEP_TRUE =
+AMTAR = ${SHELL} /home/cjcollier/src.offline/svn/gtkglarea-sharp.mdl/missing
--run tar
+API_VERSION = 0.0.3.0
+AUTOCONF = ${SHELL}
/home/cjcollier/src.offline/svn/gtkglarea-sharp.mdl/missing --run autoconf
+AUTOHEADER = ${SHELL}
/home/cjcollier/src.offline/svn/gtkglarea-sharp.mdl/missing --run autoheader
+AUTOMAKE = ${SHELL}
/home/cjcollier/src.offline/svn/gtkglarea-sharp.mdl/missing --run automake-1.9
+AWK = gawk
+BASE_DEPENDENCIES_CFLAGS = -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
+BASE_DEPENDENCIES_LIBS = -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0
-latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender
-lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11
-lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
+BUILD_GTK_CFLAGS = -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
+BUILD_GTK_LIBS = -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm
-lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr
-lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl
-lglib-2.0
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPPFLAGS =
+CSC = /home/cjcollier/opt/bin/mcs
+CYGPATH_W = echo
+DEFS = -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"gtkglarea-sharp\"
-DVERSION=\"0.0.16\"
+DEPDIR = .deps
+ECHO_C =
+ECHO_N = -n
+ECHO_T =
+ENABLE_MONODOC_FALSE = #
+ENABLE_MONODOC_TRUE =
+EXEEXT =
+GACUTIL = /home/cjcollier/opt/bin/gacutil
+GACUTIL_FLAGS = /package gtkglarea-sharp /gacdir $(DESTDIR)$(prefix)/lib
+GAPI_CFLAGS =
+GAPI_LIBS =
+GTK_SHARP_CFLAGS =
-I:/home/cjcollier/opt/lib/pkgconfig/../../share/gapi-2.0/pango-api.xml
-I:/home/cjcollier/opt/lib/pkgconfig/../../share/gapi-2.0/atk-api.xml
-I:/home/cjcollier/opt/lib/pkgconfig/../../share/gapi-2.0/gdk-api.xml
-I:/home/cjcollier/opt/lib/pkgconfig/../../share/gapi-2.0/gtk-api.xml
+GTK_SHARP_LIBS =
-r:/home/cjcollier/opt/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/pango-sharp.dll
-r:/home/cjcollier/opt/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/atk-sharp.dll
-r:/home/cjcollier/opt/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/gdk-sharp.dll
-r:/home/cjcollier/opt/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/gtk-sharp.dll
-r:/home/cjcollier/opt/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/glib-sharp.dll
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS =
+LD_LIBRARY_PATH = :/home/cjcollier/opt/lib
+LIBOBJS =
+LIBS =
+LIB_PREFIX = .so
+LIB_SUFFIX =
+LTLIBOBJS =
+MAINT =
+MAINTAINER_MODE_FALSE = #
+MAINTAINER_MODE_TRUE =
+MAKEINFO = ${SHELL}
/home/cjcollier/src.offline/svn/gtkglarea-sharp.mdl/missing --run makeinfo
+MCS = /home/cjcollier/opt/bin/mcs
+MONO = /home/cjcollier/opt/bin/mono
+MONODOC = /home/cjcollier/opt/bin/monodoc
+MONODOC_DEPENDENCY_CFLAGS =
+MONODOC_DEPENDENCY_LIBS = /r:/home/cjcollier/opt/lib/mono/monodoc/monodoc.dll
+MONODOC_REQUIRED_VERSION = 1.0
+MONO_DEPENDENCY_CFLAGS = -D_REENTRANT -pthread
-I/home/cjcollier/opt/lib/pkgconfig/../../include -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include
+MONO_DEPENDENCY_LIBS = -Wl,--export-dynamic -pthread
-L/home/cjcollier/opt/lib/pkgconfig/../../lib -lmono -lpthread -lm
-lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0
+OBJEXT = o
+PACKAGE = gtkglarea-sharp
+PACKAGE_BUGREPORT =
+PACKAGE_NAME =
+PACKAGE_STRING =
+PACKAGE_TARNAME =
+PACKAGE_VERSION =
+PATH =
/home/cjcollier/bin:/home/cjcollier/opt/bin:/home/cjcollier/bitkeeper:/opt/sdb/programs/bin:/opt/j2sdk1.4.2_08/bin:/home/cjcollier/opt/bitkeeper:/home/cjcollier/opt/sbin:/opt/j2sdk1.4.2_10/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games
+PATH_SEPARATOR = :
+PKG_CONFIG = /usr/bin/pkg-config
+RANLIB = ranlib
+RUNTIME = /home/cjcollier/opt/bin/mono
+SET_MAKE =
+SHELL = /bin/sh
+STRIP =
+TAO_DEPENDENCIES_CFLAGS =
+TAO_DEPENDENCIES_LIBS = -r:/home/cjcollier/opt/lib/mono/tao/Tao.OpenGl.dll
-r:/home/cjcollier/opt/lib/mono/tao/Tao.OpenGl.ExtensionLoader.dll
+VERSION = 0.0.16
+WINBUILD_FALSE =
+WINBUILD_TRUE = #
+ac_ct_CC = gcc
+ac_ct_RANLIB = ranlib
+ac_ct_STRIP =
+ac_pt_PKG_CONFIG =
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE =
+am__include = include
+am__leading_dot = .
+am__quote =
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i686-pc-linux-gnu
+build_alias =
+build_cpu = i686
+build_os = linux-gnu
+build_vendor = pc
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = i686-pc-linux-gnu
+host_alias =
+host_cpu = i686
+host_os = linux-gnu
+host_vendor = pc
+includedir = ${prefix}/include
+infodir = ${prefix}/info
+install_sh = /home/cjcollier/src.offline/svn/gtkglarea-sharp.mdl/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /home/cjcollier/opt
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = ${prefix}/etc
+target = i686-pc-linux-gnu
+target_alias =
+target_cpu = i686
+target_os = linux-gnu
+target_vendor = pc
+EXAMPLE_NAME = MdlLoader
+SOURCE_FILES = \
+ $(EXAMPLE_NAME).cs \
+ Engine.cs \
+ GladeExample.cs
+
+CLEANFILES = \
+ $(EXAMPLE_NAME).exe \
+ $(EXAMPLE_NAME).exe.mdb \
+ $(EXAMPLE_NAME).pidb
+
+EXTRA_DIST = \
+ $(SOURCE_FILES)
+
+MCS_ARGS = \
+ -debug \
+ -lib:../..//gtkglarea \
+ -r:gtkglarea-sharp.dll \
+ -pkg:gtk-sharp-2.0 \
+ -pkg:glade-sharp-2.0 \
+ -lib:$(srcdir)/../util \
+ -r:gtkglarea-sharp-util.dll \
+ -resource:$(srcdir)/../resources/glwidget.glade
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu
examples/MdlLoader/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu examples/MdlLoader/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
$(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
$(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure
$(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed
"s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-info-am
+
+
+all: \
+ $(EXAMPLE_NAME).exe
+
+run: MdlLoader.exe
+ MONO_PATH="$(top_srcdir)/examples/util" \
+ mono $(EXAMPLE_NAME).exe
+
+$(EXAMPLE_NAME).exe: $(SOURCE_FILES)
+ mcs \
+ $(MCS_ARGS) \
+ $(SOURCE_FILES) \
+ -out:$(EXAMPLE_NAME).exe
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Property changes on: trunk/gtkglarea-sharp/examples/MdlLoader/Makefile
___________________________________________________________________
Name: svn:eol-style
+ native
Added: trunk/gtkglarea-sharp/examples/MdlLoader/Makefile.am
===================================================================
--- trunk/gtkglarea-sharp/examples/MdlLoader/Makefile.am 2006-06-18
19:05:51 UTC (rev 61827)
+++ trunk/gtkglarea-sharp/examples/MdlLoader/Makefile.am 2006-06-18
22:57:00 UTC (rev 61828)
@@ -0,0 +1,38 @@
+EXAMPLE_NAME=MdlLoader
+
+SOURCE_FILES = \
+ $(EXAMPLE_NAME).cs \
+ Engine.cs \
+ GladeExample.cs
+
+CLEANFILES = \
+ $(EXAMPLE_NAME).exe \
+ $(EXAMPLE_NAME).exe.mdb \
+ $(EXAMPLE_NAME).pidb
+
+all: \
+ $(EXAMPLE_NAME).exe
+
+run: MdlLoader.exe
+ MONO_PATH="$(top_srcdir)/examples/util" \
+ mono $(EXAMPLE_NAME).exe
+
+
+EXTRA_DIST = \
+ $(SOURCE_FILES)
+
+MCS_ARGS = \
+ -debug \
+ -lib:@top_builddir@/gtkglarea \
+ -r:gtkglarea-sharp.dll \
+ -pkg:gtk-sharp-2.0 \
+ -pkg:glade-sharp-2.0 \
+ -lib:$(srcdir)/../util \
+ -r:gtkglarea-sharp-util.dll \
+ -resource:$(srcdir)/../resources/glwidget.glade
+
+$(EXAMPLE_NAME).exe: $(SOURCE_FILES)
+ mcs \
+ $(MCS_ARGS) \
+ $(SOURCE_FILES) \
+ -out:$(EXAMPLE_NAME).exe
Added: trunk/gtkglarea-sharp/examples/MdlLoader/Makefile.in
===================================================================
--- trunk/gtkglarea-sharp/examples/MdlLoader/Makefile.in 2006-06-18
19:05:51 UTC (rev 61827)
+++ trunk/gtkglarea-sharp/examples/MdlLoader/Makefile.in 2006-06-18
22:57:00 UTC (rev 61828)
@@ -0,0 +1,359 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
[EMAIL PROTECTED]@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = examples/MdlLoader
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+API_VERSION = @API_VERSION@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@
+BASE_DEPENDENCIES_LIBS = @BASE_DEPENDENCIES_LIBS@
+BUILD_GTK_CFLAGS = @BUILD_GTK_CFLAGS@
+BUILD_GTK_LIBS = @BUILD_GTK_LIBS@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+CSC = @CSC@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+ENABLE_MONODOC_FALSE = @ENABLE_MONODOC_FALSE@
+ENABLE_MONODOC_TRUE = @ENABLE_MONODOC_TRUE@
+EXEEXT = @EXEEXT@
+GACUTIL = @GACUTIL@
+GACUTIL_FLAGS = @GACUTIL_FLAGS@
+GAPI_CFLAGS = @GAPI_CFLAGS@
+GAPI_LIBS = @GAPI_LIBS@
+GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@
+GTK_SHARP_LIBS = @GTK_SHARP_LIBS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LD_LIBRARY_PATH = @LD_LIBRARY_PATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIB_PREFIX = @LIB_PREFIX@
+LIB_SUFFIX = @LIB_SUFFIX@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+MCS = @MCS@
+MONO = @MONO@
+MONODOC = @MONODOC@
+MONODOC_DEPENDENCY_CFLAGS = @MONODOC_DEPENDENCY_CFLAGS@
+MONODOC_DEPENDENCY_LIBS = @MONODOC_DEPENDENCY_LIBS@
+MONODOC_REQUIRED_VERSION = @MONODOC_REQUIRED_VERSION@
+MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@
+MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH = @PATH@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+RUNTIME = @RUNTIME@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TAO_DEPENDENCIES_CFLAGS = @TAO_DEPENDENCIES_CFLAGS@
+TAO_DEPENDENCIES_LIBS = @TAO_DEPENDENCIES_LIBS@
+VERSION = @VERSION@
+WINBUILD_FALSE = @WINBUILD_FALSE@
+WINBUILD_TRUE = @WINBUILD_TRUE@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+EXAMPLE_NAME = MdlLoader
+SOURCE_FILES = \
+ $(EXAMPLE_NAME).cs \
+ Engine.cs \
+ GladeExample.cs
+
+CLEANFILES = \
+ $(EXAMPLE_NAME).exe \
+ $(EXAMPLE_NAME).exe.mdb \
+ $(EXAMPLE_NAME).pidb
+
+EXTRA_DIST = \
+ $(SOURCE_FILES)
+
+MCS_ARGS = \
+ -debug \
+ -lib:@top_builddir@/gtkglarea \
+ -r:gtkglarea-sharp.dll \
+ -pkg:gtk-sharp-2.0 \
+ -pkg:glade-sharp-2.0 \
+ -lib:$(srcdir)/../util \
+ -r:gtkglarea-sharp-util.dll \
+ -resource:$(srcdir)/../resources/glwidget.glade
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am
$(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu
examples/MdlLoader/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu examples/MdlLoader/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
$(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
$(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure
$(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed
"s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-info-am
+
+
+all: \
+ $(EXAMPLE_NAME).exe
+
+run: MdlLoader.exe
+ MONO_PATH="$(top_srcdir)/examples/util" \
+ mono $(EXAMPLE_NAME).exe
+
+$(EXAMPLE_NAME).exe: $(SOURCE_FILES)
+ mcs \
+ $(MCS_ARGS) \
+ $(SOURCE_FILES) \
+ -out:$(EXAMPLE_NAME).exe
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Added: trunk/gtkglarea-sharp/examples/MdlLoader/MdlLoader.cs
===================================================================
--- trunk/gtkglarea-sharp/examples/MdlLoader/MdlLoader.cs 2006-06-18
19:05:51 UTC (rev 61827)
+++ trunk/gtkglarea-sharp/examples/MdlLoader/MdlLoader.cs 2006-06-18
22:57:00 UTC (rev 61828)
@@ -0,0 +1,109 @@
+// created on 11/26/2005 at 3:33 PM
+namespace Mdl {
+ enum synctype_t {
+ ST_SYNC = 0,
+ ST_RAND
+ };
+
+ enum aliasframetype_t {
+ ALIAS_SINGLE = 0,
+ ALIAS_GROUP
+ };
+
+ enum aliasskintype_t {
+ ALIAS_SKIN_SINGLE = 0,
+ ALIAS_SKIN_GROUP
+ };
+
+
+
+ struct mdl_t {
+ int ident;
+ int version;
+ float[] scale;
+ float[] scale_origin;
+ float boundingradius;
+ float[] eyeposition;
+ int num_texgroups;
+ int texwidth;
+ int texheight;
+ int numverts;
+ int numtris;
+ int numframes;
+ synctype_t synctype;
+ int flags;
+ float size;
+ };
+
+ struct stvert_t {
+ int onseam;
+ int s;
+ int t;
+ };
+
+ struct dtriangle_t {
+ int facesfront;
+ int[] vertindex;
+ };
+
+ struct trivertx_t {
+ short[] v;
+ short lightnormalindex;
+ };
+
+ struct daliasframe_t {
+ trivertx_t bboxmin; // lightnormal isn't
used
+ trivertx_t bboxmax; // lightnormal isn't
used
+ char[] name; // frame name from grabbing
+ };
+
+ struct daliasgroup_t {
+ int numposes;
+ trivertx_t bboxmin; // lightnormal isn't
used
+ trivertx_t bboxmax; // lightnormal isn't
used
+ };
+
+ struct daliasframetype_t {
+ aliasframetype_t type;
+ };
+
+ struct tex_struct {
+ int[] pixel; //Pixel data
+ };
+
+ struct texgroup_struct {
+ aliasskintype_t type;
+
+ long numtextures; // number of pictures in
group
+ float[] interval; // intervals for each
picture
+ tex_struct[] texture; // texture data
+ };
+
+ struct pose_struct {
+ string name;
+ trivertx_t[] vertex;
+ };
+
+ struct frame_struct {
+ aliasframetype_t type;
+ int numposes;
+ float[] interval;
+ pose_struct[] pose;
+ };
+
+ struct mdl_struct {
+ mdl_t header;
+
+ texgroup_struct[] texgroup;
+ stvert_t[] stvert_data;
+ dtriangle_t[] triangle_data;
+ frame_struct[] frame;
+ };
+
+ class MdlLoader {
+ const int DT_FACES_FRONT = 0x0010;
+
+
+
+ }
+}
\ No newline at end of file
Added: trunk/gtkglarea-sharp/examples/MdlLoader/MdlLoader.mdp
===================================================================
--- trunk/gtkglarea-sharp/examples/MdlLoader/MdlLoader.mdp 2006-06-18
19:05:51 UTC (rev 61827)
+++ trunk/gtkglarea-sharp/examples/MdlLoader/MdlLoader.mdp 2006-06-18
22:57:00 UTC (rev 61828)
@@ -0,0 +1,44 @@
+<Project name="MdlLoader" fileversion="2.0" language="C#"
clr-version="Net_1_1" ctype="DotNetProject">
+ <Configurations active="Debug">
+ <Configuration name="Debug" ctype="DotNetProjectConfiguration">
+ <Output directory="./bin/Debug" assembly="MdlLoader" />
+ <Build debugmode="True" target="Exe" />
+ <Execution runwithwarnings="True" consolepause="True" runtime="MsNet"
clr-version="Net_1_1" />
+ <CodeGeneration compiler="Csc" warninglevel="4" optimize="True"
unsafecodeallowed="False" generateoverflowchecks="True"
generatexmldocumentation="False" ctype="CSharpCompilerParameters" />
+ </Configuration>
+ <Configuration name="Release" ctype="DotNetProjectConfiguration">
+ <Output directory="./bin/Release" assembly="MdlLoader" />
+ <Build debugmode="False" target="Exe" />
+ <Execution runwithwarnings="True" consolepause="True" runtime="MsNet"
clr-version="Net_1_1" />
+ <CodeGeneration compiler="Csc" warninglevel="4" optimize="True"
unsafecodeallowed="False" generateoverflowchecks="True"
generatexmldocumentation="False" ctype="CSharpCompilerParameters" />
+ </Configuration>
+ </Configurations>
+ <DeploymentInformation strategy="File">
+ <excludeFiles />
+ </DeploymentInformation>
+ <Contents>
+ <File name="./gtk-gui/gui.stetic" subtype="Code"
buildaction="EmbedAsResource" />
+ <File name="./gtk-gui/generated.cs" subtype="Code" buildaction="Compile" />
+ <File name="./gtk-gui/objects.xml" subtype="Code"
buildaction="EmbedAsResource" />
+ <File name="./MdlLoader.cs" subtype="Code" buildaction="Compile" />
+ <File name="./Engine.cs" subtype="Code" buildaction="Compile" />
+ <File name="./GladeExample.cs" subtype="Code" buildaction="Compile" />
+ </Contents>
+ <References>
+ <ProjectReference type="Gac" localcopy="True" refto="System,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <ProjectReference type="Gac" localcopy="True" refto="gtk-sharp,
Version=2.8.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+ <ProjectReference type="Gac" localcopy="True" refto="gdk-sharp,
Version=2.8.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+ <ProjectReference type="Gac" localcopy="True" refto="glib-sharp,
Version=2.8.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+ <ProjectReference type="Gac" localcopy="True" refto="glade-sharp,
Version=2.8.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+ <ProjectReference type="Gac" localcopy="True" refto="pango-sharp,
Version=2.8.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+ <ProjectReference type="Gac" localcopy="True" refto="Tao.OpenGl,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=1ca010269a4501ef" />
+ <ProjectReference type="Gac" localcopy="True" refto="Tao.OpenGl.Glu,
Version=1.5.0.3, Culture=neutral, PublicKeyToken=3661ea75021374b5" />
+ <ProjectReference type="Gac" localcopy="True" refto="gtkglarea-sharp,
Version=0.0.3.0, Culture=neutral, PublicKeyToken=7df758c0fb49fe62" />
+ </References>
+ <GtkDesignInfo>
+ <ExportedWidgets>
+ <Widget>MdlLoader.GLWidget</Widget>
+ <Widget>MdlLoader.foo</Widget>
+ </ExportedWidgets>
+ </GtkDesignInfo>
+</Project>
\ No newline at end of file
Added: trunk/gtkglarea-sharp/examples/MdlLoader/README
===================================================================
--- trunk/gtkglarea-sharp/examples/MdlLoader/README 2006-06-18 19:05:51 UTC
(rev 61827)
+++ trunk/gtkglarea-sharp/examples/MdlLoader/README 2006-06-18 22:57:00 UTC
(rev 61828)
@@ -0,0 +1,2 @@
+This example will, when finished, read a .mdl data file from disk and
+display it in a GtkGLArea widget. It's not done yet :)
Added: trunk/gtkglarea-sharp/examples/MdlLoader/mdl.c
===================================================================
--- trunk/gtkglarea-sharp/examples/MdlLoader/mdl.c 2006-06-18 19:05:51 UTC
(rev 61827)
+++ trunk/gtkglarea-sharp/examples/MdlLoader/mdl.c 2006-06-18 22:57:00 UTC
(rev 61828)
@@ -0,0 +1,177 @@
+/*
+ Copyright (C) 2001 C.J. Collier ([EMAIL PROTECTED])
+
+ 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
+
+*/
+
+#include "mdl.h"
+
+extern int errno;
+
+mdl_struct *
+load_mdl(const char *filename)
+{
+ mdl_struct *mdl;
+ FILE *f;
+ int texgroup_num, tex_num, frame_num, pose_num;
+ daliasframetype_t frametype;
+ daliasgroup_t group_data;
+ daliasframe_t frame_data;
+
+
+ if( (f = fopen(filename, "r")) == NULL){
+ printf("Open failure: %s\n", strerror(errno));
+ return NULL;
+ }
+
+ mdl = malloc(sizeof(mdl_struct));
+
+ //load the header
+ fread( &(mdl->header), sizeof(mdl_t), 1, f);
+
+ //allocate memory for our textures
+ mdl->texgroup = malloc(sizeof(texgroup_struct) * mdl->header.num_texgroups);
+
+ for(texgroup_num = 0; texgroup_num < mdl->header.num_texgroups;
texgroup_num++){
+
+ //read data into texgroup->type
+ fread( &mdl->texgroup->type, sizeof(aliasskintype_t), 1, f);
+
+ //read texture(s)
+ if(mdl->texgroup->type == ALIAS_SKIN_SINGLE){
+ //if type is ALIAS_SKIN_SINGLE, set number of textures to 1
+ mdl->texgroup[texgroup_num].numtextures = 1;
+ //and interval[0] to 0
+ mdl->texgroup[texgroup_num].interval = malloc(sizeof(float));
+ mdl->texgroup[texgroup_num].interval[0] = 0.0;
+ }else{
+ //read data into tex->numtextures
+ fread( &mdl->texgroup[texgroup_num].numtextures, sizeof(long), 1, f);
+
+ //read interval data
+ mdl->texgroup[texgroup_num].interval =
+ malloc(sizeof(float) * mdl->texgroup[texgroup_num].numtextures);
+ fread( mdl->texgroup[texgroup_num].interval,
+ sizeof(float),
+ mdl->texgroup[texgroup_num].numtextures,
+ f);
+ }
+
+ //allocate space for the texture data...
+ mdl->texgroup[texgroup_num].texture =
+ malloc(sizeof(tex_struct) * mdl->texgroup[texgroup_num].numtextures);
+
+ for(tex_num = 0;
+ tex_num < mdl->texgroup[texgroup_num].numtextures;
+ tex_num++
+ ){
+ //allocate space for the pixel data
+ mdl->texgroup[texgroup_num].texture[tex_num].pixel =
+ malloc(sizeof(guint8) *
+ mdl->header.texwidth * mdl->header.texheight);
+
+ //read the pixel data
+ fread(mdl->texgroup[texgroup_num].texture[tex_num].pixel,
+ sizeof(guint8),
+ mdl->header.texwidth * mdl->header.texheight,
+ f
+ );
+ }
+
+
+ }
+
+ //read the texture vertices
+ mdl->stvert_data = malloc(sizeof(stvert_t) * mdl->header.numverts);
+ fread( mdl->stvert_data, sizeof(stvert_t), mdl->header.numverts, f);
+
+ //read the triangle indices
+ mdl->triangle_data = malloc(sizeof(dtriangle_t) * mdl->header.numtris);
+ fread( mdl->triangle_data, sizeof(dtriangle_t), mdl->header.numtris, f);
+
+ //allocate enough memory for our frames
+ mdl->frame = malloc(sizeof(frame_struct) * mdl->header.numframes);
+
+ for(frame_num = 0; frame_num < mdl->header.numframes; frame_num++){
+ //read the frame type data
+ fread( &frametype, sizeof(daliasframetype_t), 1, f);
+
+ if((mdl->frame[frame_num].type = frametype.type) == ALIAS_SINGLE){
+ //no group data for single-frame meshes
+ //we want to use the same data structure, though so set numposes
+ mdl->frame[frame_num].numposes = 1;
+
+ //no interval data for single-frame meshes - set to zero
+ mdl->frame[frame_num].interval = malloc(sizeof(float));
+ mdl->frame[frame_num].interval[0] = 0.0;
+ }else{
+ //read group data for multi-frame meshes
+ fread( &group_data, sizeof(daliasgroup_t), 1, f);
+
+ //we only need the number of poses.
+ mdl->frame[frame_num].numposes = group_data.numposes;
+
+ //read interval data
+ mdl->frame[frame_num].interval =
+ malloc(sizeof(float) * mdl->frame[frame_num].numposes);
+ fread(&(mdl->frame[frame_num].interval),
+ sizeof(float),
+ mdl->frame[frame_num].numposes,
+ f);
+ }
+
+ //allocate enough memory for our poses
+ mdl->frame[frame_num].pose = malloc(sizeof(pose_struct) *
mdl->frame[frame_num].numposes);
+
+ //read frame(s)
+ for(pose_num = 0; pose_num < mdl->frame[frame_num].numposes; pose_num++){
+
+ //read frame data from disk
+ fread( &frame_data, sizeof(daliasframe_t), 1, f);
+ //copy the name of the pose to our struct
+ strncpy( &mdl->frame[frame_num].pose[pose_num].name[0],
&frame_data.name[0], 16);
+ /*
+ printf("(load_mdl.c) phrase: %i, pose: %i, name: %s\n",
+ frame_num,
+ pose_num,
+ mdl->frame[frame_num].pose[pose_num].name);
+ */
+ //read vertex data
+ mdl->frame[frame_num].pose[pose_num].vertex = malloc(sizeof(trivertx_t)
* mdl->header.numverts);
+ fread( mdl->frame[frame_num].pose[pose_num].vertex, sizeof(trivertx_t),
mdl->header.numverts, f);
+ }
+ }
+
+ return mdl;
+}
+
+/*
+
+int
+main(int argc, char *argv[])
+{
+ mdl_struct *mdl = load_mdl("/home/cjcollier/tmp/quake/progs/armor.mdl");
+
+ printf("number of frames: %i\n", mdl->header.numframes);
+ printf("Number of poses in first frame: %i\n", mdl->frame[0].numposes);
+ return 1;
+}
+
+*/
Property changes on: trunk/gtkglarea-sharp/examples/MdlLoader/mdl.c
___________________________________________________________________
Name: svn:eol-style
+ native
Added: trunk/gtkglarea-sharp/examples/MdlLoader/mdl.h
===================================================================
--- trunk/gtkglarea-sharp/examples/MdlLoader/mdl.h 2006-06-18 19:05:51 UTC
(rev 61827)
+++ trunk/gtkglarea-sharp/examples/MdlLoader/mdl.h 2006-06-18 22:57:00 UTC
(rev 61828)
@@ -0,0 +1,131 @@
+/*
+ Copyright (C) 2001 C.J. Collier ([EMAIL PROTECTED])
+
+ 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
+
+*/
+
+#ifndef _LOAD_MDL_H_
+#define _LOAD_MDL_H_
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <glib.h>
+
+typedef enum { ALIAS_SINGLE = 0, ALIAS_GROUP } aliasframetype_t;
+
+typedef enum { ALIAS_SKIN_SINGLE = 0, ALIAS_SKIN_GROUP } aliasskintype_t;
+
+typedef enum { ST_SYNC = 0, ST_RAND } synctype_t;
+
+typedef unsigned char Uint8;
+
+typedef struct {
+ int ident;
+ int version;
+ float scale[3];
+ float scale_origin[3];
+ float boundingradius;
+ float eyeposition[3];
+ int num_texgroups;
+ int texwidth;
+ int texheight;
+ int numverts;
+ int numtris;
+ int numframes;
+ synctype_t synctype;
+ int flags;
+ float size;
+} mdl_t;
+
+typedef struct {
+ int onseam;
+ int s;
+ int t;
+} stvert_t;
+
+typedef struct dtriangle_s {
+ int facesfront;
+ int vertindex[3];
+} dtriangle_t;
+
+#define DT_FACES_FRONT 0x0010
+
+// This mirrors trivert_t in trilib.h, is present so Quake knows how to
+// load this data
+
+typedef struct {
+ Uint8 v[3];
+ Uint8 lightnormalindex;
+} trivertx_t;
+
+typedef struct {
+ trivertx_t bboxmin; // lightnormal isn't
used
+ trivertx_t bboxmax; // lightnormal isn't
used
+ char name[16]; // frame name from
grabbing
+} daliasframe_t;
+
+typedef struct {
+ int numposes;
+ trivertx_t bboxmin; // lightnormal isn't
used
+ trivertx_t bboxmax; // lightnormal isn't
used
+} daliasgroup_t;
+
+typedef struct {
+ aliasframetype_t type;
+} daliasframetype_t;
+
+typedef struct {
+ guint8 *pixel; //Pixel data
+} tex_struct;
+
+typedef struct {
+ aliasskintype_t type;
+
+ long numtextures; // number of pictures in group
+ float *interval; // intervals for each picture
+ tex_struct *texture; // texture data
+} texgroup_struct;
+
+typedef struct {
+ char name[16];
+ trivertx_t *vertex;
+} pose_struct;
+
+typedef struct {
+ aliasframetype_t type;
+ int numposes;
+ float *interval;
+ pose_struct *pose;
+} frame_struct;
+
+typedef struct {
+ mdl_t header;
+
+ texgroup_struct *texgroup;
+ stvert_t *stvert_data;
+ dtriangle_t *triangle_data;
+ frame_struct *frame;
+} mdl_struct;
+
+mdl_struct *
+load_mdl(const char *filename);
+
+#endif /* _LOAD_MDL_H_ */
Property changes on: trunk/gtkglarea-sharp/examples/MdlLoader/mdl.h
___________________________________________________________________
Name: svn:eol-style
+ native
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches