diff --git a/examples/3D_sample4/Makefile b/examples/3D_sample4/Makefile new file mode 100644 index 0000000..c47d164 --- /dev/null +++ b/examples/3D_sample4/Makefile @@ -0,0 +1,139 @@ +#--------------------------------------------------------------------------------- +# Clear the implicit built in rules +#--------------------------------------------------------------------------------- +.SUFFIXES: +#--------------------------------------------------------------------------------- +ifeq ($(strip $(DEVKITPPC)),) +$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=devkitPPC) +endif + +include $(DEVKITPPC)/wii_rules + +#--------------------------------------------------------------------------------- +# TARGET is the name of the output +# BUILD is the directory where object files & intermediate files will be placed +# SOURCES is a list of directories containing source code +# INCLUDES is a list of directories containing extra header files +#--------------------------------------------------------------------------------- +TARGET := $(notdir $(CURDIR)) +BUILD := build +SOURCES := source source/gfx +DATA := data +INCLUDES := + +#--------------------------------------------------------------------------------- +# options for code generation +#--------------------------------------------------------------------------------- + +CFLAGS = -g -O2 -mrvl -Wall $(MACHDEP) $(INCLUDE) +CXXFLAGS = $(CFLAGS) + +LDFLAGS = -g $(MACHDEP) -mrvl -Wl,-Map,$(notdir $@).map + +#--------------------------------------------------------------------------------- +# any extra libraries we wish to link with the project +#--------------------------------------------------------------------------------- +LIBS := -lgrrlib -lpngu -lpng -ljpeg -lz -lfat -lwiiuse -lbte -logc -lm + +#--------------------------------------------------------------------------------- +# list of directories containing libraries, this must be the top level containing +# include and lib +#--------------------------------------------------------------------------------- +LIBDIRS := $(CURDIR)/$(GRRLIB) + +#--------------------------------------------------------------------------------- +# no real need to edit anything past this point unless you need to add additional +# rules for different file extensions +#--------------------------------------------------------------------------------- +ifneq ($(BUILD),$(notdir $(CURDIR))) +#--------------------------------------------------------------------------------- + +export OUTPUT := $(CURDIR)/$(TARGET) + +export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ + $(foreach dir,$(DATA),$(CURDIR)/$(dir)) + +export DEPSDIR := $(CURDIR)/$(BUILD) + +#--------------------------------------------------------------------------------- +# automatically build a list of object files for our project +#--------------------------------------------------------------------------------- +CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) +CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) +sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) +SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S))) +BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) + +#--------------------------------------------------------------------------------- +# use CXX for linking C++ projects, CC for standard C +#--------------------------------------------------------------------------------- +ifeq ($(strip $(CPPFILES)),) + export LD := $(CC) +else + export LD := $(CXX) +endif + +export OFILES := $(addsuffix .o,$(BINFILES)) \ + $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \ + $(sFILES:.s=.o) $(SFILES:.S=.o) + +#--------------------------------------------------------------------------------- +# build a list of include paths +#--------------------------------------------------------------------------------- +export INCLUDE := $(foreach dir,$(INCLUDES), -iquote $(CURDIR)/$(dir)) \ + $(foreach dir,$(LIBDIRS),-I$(dir)/include) \ + -I$(CURDIR)/$(BUILD) \ + -I$(LIBOGC_INC) + +#--------------------------------------------------------------------------------- +# build a list of library paths +#--------------------------------------------------------------------------------- +export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \ + -L$(LIBOGC_LIB) + +export OUTPUT := $(CURDIR)/$(TARGET) +.PHONY: $(BUILD) clean + +#--------------------------------------------------------------------------------- +$(BUILD): + @[ -d $@ ] || mkdir -p $@ + @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile + +#--------------------------------------------------------------------------------- +clean: + @echo clean ... + @rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol + +#--------------------------------------------------------------------------------- +run: + psoload $(TARGET).dol + +#--------------------------------------------------------------------------------- +reload: + psoload -r $(TARGET).dol + + +#--------------------------------------------------------------------------------- +else + +DEPENDS := $(OFILES:.o=.d) + +#--------------------------------------------------------------------------------- +# main targets +#--------------------------------------------------------------------------------- +$(OUTPUT).dol: $(OUTPUT).elf +$(OUTPUT).elf: $(OFILES) + +#--------------------------------------------------------------------------------- +# This rule links in binary data with the .jpg extension +#--------------------------------------------------------------------------------- +%.jpg.o : %.jpg +#--------------------------------------------------------------------------------- + @echo $(notdir $<) + $(bin2o) + +-include $(DEPENDS) + +#--------------------------------------------------------------------------------- +endif +#--------------------------------------------------------------------------------- diff --git a/examples/3D_sample4/source/gfx/logo.h b/examples/3D_sample4/source/gfx/logo.h new file mode 100644 index 0000000..f2ad34d --- /dev/null +++ b/examples/3D_sample4/source/gfx/logo.h @@ -0,0 +1,1997 @@ +int logoNbFace = 992; + + +guVector logoPos[]={{-22,3,-2}, +{-21,3,-2}, +{-21,4,-2}, +{-14,4,-2}, +{-14,2,-2}, +{-19,2,-2}, +{-19,-2,-2}, +{-17,-2,-2}, +{-17,-0.999999,-2}, +{-18,-1.000001,-2}, +{-17.999994,1,-2}, +{-14,1,-2}, +{-14,-3,-2}, +{-15,-3,-2}, +{-15,-4,-2}, +{-21,-4,-2}, +{-21,-3,-2}, +{-22,-3,-2}, +{-10,1,-2}, +{-9,1,-2}, +{-9,2,-2}, +{-10,2,-2}, +{-13,4,-2}, +{-13,-4,-2}, +{-10,-4,-2}, +{-10,-1,-2}, +{-9,-1,-2}, +{-9,-4,-2}, +{-6,-4,-2}, +{-6,0,-2}, +{-7,0,-2}, +{-7,1,-2}, +{-6,1,-2}, +{-6,3,-2}, +{-7,3,-2}, +{-7,4,-2}, +{-2,1,-2}, +{-1,1,-2}, +{-1,2,-2}, +{-2,2,-2}, +{-5,4,-2}, +{-5,-4,-2}, +{-2,-4,-2}, +{-2,-1,-2}, +{-1,-1,-2}, +{-1,-4,-2}, +{2,-4,-2}, +{2,0,-2}, +{1,0,-2}, +{1,1,-2}, +{2,1,-2}, +{2,3,-2}, +{1,3,-2}, +{1,4,-2}, +{3,4,-2}, +{3,-3,-2}, +{4,-3,-2}, +{4,-4,-2}, +{10,-4,-2}, +{10,-2,-2}, +{6,-2,-2}, +{6,4,-2}, +{11,-4,-2}, +{11,4,-2}, +{14,4,-2}, +{14,-4,-2}, +{18,-1,-2}, +{19,-1,-2}, +{19,-2,-2}, +{18,-2,-2}, +{18,2,-2}, +{19,2,-2}, +{19,1,-2}, +{18,1,-2}, +{15,4,-2}, +{15,-4,-2}, +{21,-4,-2}, +{21,-3,-2}, +{22,-3,-2}, +{22,0,-2}, +{21,0,-2}, +{21,1,-2}, +{22,1,-2}, +{22,3,-2}, +{21,3,-2}, +{21,4,-2}, +{-20.999615,4.999909,-2}, +{-13.999743,4.999909,-2}, +{-13.999743,3.999927,-2}, +{-12.999762,3.999927,-2}, +{-12.999762,4.999909,-2}, +{-6.999871,4.999909,-2}, +{-6.999871,3.999927,-2}, +{-4.999909,3.999927,-2}, +{-4.999909,4.999909,-2}, +{0.999982,4.999909,-2}, +{0.999982,3.999927,-2}, +{2.999945,3.999927,-2}, +{2.999945,4.999909,-2}, +{5.99989,4.999909,-2}, +{5.99989,3.999927,-2}, +{6.999871,3.999927,-2}, +{6.999871,-0.999982,-2}, +{9.999818,-0.999982,-2}, +{9.999818,3.999927,-2}, +{10.999798,3.999927,-2}, +{10.999798,4.999909,-2}, +{13.999743,4.999909,-2}, +{13.999743,3.999927,-2}, +{14.999724,3.999927,-2}, +{14.999724,4.999909,-2}, +{20.999615,4.999909,-2}, +{20.999615,3.999927,-2}, +{21.999596,3.999927,-2}, +{21.999596,2.999945,-2}, +{22.999578,2.999945,-2}, +{22.999578,0.999982,-2}, +{21.999596,0.999982,-2}, +{21.999596,0,-2}, +{22.999578,0,-2}, +{22.999578,-2.999945,-2}, +{21.999596,-2.999945,-2}, +{21.999596,-3.999927,-2}, +{20.999615,-3.999927,-2}, +{20.999615,-4.999909,-2}, +{14.999724,-4.999909,-2}, +{14.999724,-3.999927,-2}, +{13.999743,-3.999826,-2}, +{13.999743,-4.999909,-2}, +{10.999798,-4.999909,-2}, +{10.999798,-3.999927,-2}, +{9.999818,-3.999823,-2}, +{9.999818,-4.999909,-2}, +{3.999927,-4.999909,-2}, +{3.999927,-3.999927,-2}, +{1.999963,-3.999927,-2}, +{1.999963,-4.999909,-2}, +{-0.999982,-4.999909,-2}, +{-0.999982,-3.999927,-2}, +{-1.999963,-3.999927,-2}, +{-1.999963,-4.999909,-2}, +{-4.999909,-4.999909,-2}, +{-4.999909,-3.999927,-2}, +{-5.99989,-3.999927,-2}, +{-5.99989,-4.999909,-2}, +{-8.999835,-4.999909,-2}, +{-8.999835,-3.999927,-2}, +{-9.999818,-3.999927,-2}, +{-9.999818,-4.999909,-2}, +{-12.999762,-4.999909,-2}, +{-12.999762,-3.999927,-2}, +{-14.999724,-3.999927,-2}, +{-14.999724,-4.999909,-2}, +{-20.999615,-4.999909,-2}, +{-20.999615,-3.999927,-2}, +{-21.999596,-3.999927,-2}, +{-21.999596,-2.999945,-2}, +{-22.999578,-2.999945,-2}, +{-22.999578,2.999945,-2}, +{-21.999596,2.999945,-2}, +{-21.999596,3.999927,-2}, +{-20.999615,3.999927,-2}, +{-21,6,-2}, +{-14,6,-2}, +{-14,5,-2}, +{-13,5,-2}, +{-13,6,-2}, +{-7,6,-2}, +{-7,5,-2}, +{-5,5,-2}, +{-5,6,-2}, +{1,6,-2}, +{1,5,-2}, +{3,5,-2}, +{3,6,-2}, +{6,6,-2}, +{6,5,-2}, +{7,5,-2}, +{7,4,-2}, +{8,4,-2}, +{8,0,-2}, +{9,0,-2}, +{9,4,-2}, +{10,4,-2}, +{10,5,-2}, +{11,5,-2}, +{11,6,-2}, +{14,6,-2}, +{14,5,-2}, +{15,5,-2}, +{15,6,-2}, +{21,6,-2}, +{21,5,-2}, +{22,5,-2}, +{22,4,-2}, +{23,4,-2}, +{23,3,-2}, +{24,3,-2}, +{24,1,-2}, +{23,1,-2}, +{23,0,-2}, +{24,0,-2}, +{24,-3,-2}, +{23,-3,-2}, +{23,-4,-2}, +{22,-4,-2}, +{22,-5,-2}, +{21,-5,-2}, +{21,-6,-2}, +{15,-6,-2}, +{15,-5,-2}, +{14,-4.999899,-2}, +{14,-6,-2}, +{11,-6,-2}, +{11,-5,-2}, +{10,-4.999896,-2}, +{10,-6,-2}, +{4,-6,-2}, +{4,-5,-2}, +{2,-5,-2}, +{2,-6,-2}, +{-1,-6,-2}, +{-1,-5,-2}, +{-2,-5,-2}, +{-2,-6,-2}, +{-5,-6,-2}, +{-5,-5,-2}, +{-6,-5,-2}, +{-6,-6,-2}, +{-9,-6,-2}, +{-9,-5,-2}, +{-10,-5,-2}, +{-10,-6,-2}, +{-13,-6,-2}, +{-13,-5,-2}, +{-15,-5,-2}, +{-15,-6,-2}, +{-21,-6,-2}, +{-21,-5,-2}, +{-22,-5,-2}, +{-22,-4,-2}, +{-23,-4,-2}, +{-23,-3,-2}, +{-24,-3,-2}, +{-24,3,-2}, +{-23,3,-2}, +{-23,4,-2}, +{-22,4,-2}, +{-22,5,-2}, +{-21,5,-2}, +{-22,3,0}, +{-21,3,0}, +{-21,4,0}, +{-14,4,0}, +{-14,2,0}, +{-19,2,0}, +{-19,-2,0}, +{-17,-2,0}, +{-17,-0.999999,0}, +{-18,-1.000001,0}, +{-17.999994,1,0}, +{-14,1,0}, +{-14,-3,0}, +{-15,-3,0}, +{-15,-4,0}, +{-21,-4,0}, +{-21,-3,0}, +{-22,-3,0}, +{-10,1,0}, +{-9,1,0}, +{-9,2,0}, +{-10,2,0}, +{-13,4,0}, +{-13,-4,0}, +{-10,-4,0}, +{-10,-1,0}, +{-9,-1,0}, +{-9,-4,0}, +{-6,-4,0}, +{-6,0,0}, +{-7,0,0}, +{-7,1,0}, +{-6,1,0}, +{-6,3,0}, +{-7,3,0}, +{-7,4,0}, +{-2,1,0}, +{-1,1,0}, +{-1,2,0}, +{-2,2,0}, +{-5,4,0}, +{-5,-4,0}, +{-2,-4,0}, +{-2,-1,0}, +{-1,-1,0}, +{-1,-4,0}, +{2,-4,0}, +{2,0,0}, +{1,0,0}, +{1,1,0}, +{2,1,0}, +{2,3,0}, +{1,3,0}, +{1,4,0}, +{3,4,0}, +{3,-3,0}, +{4,-3,0}, +{4,-4,0}, +{10,-4,0}, +{10,-2,0}, +{6,-2,0}, +{6,4,0}, +{11,-4,0}, +{11,4,0}, +{14,4,0}, +{14,-4,0}, +{18,-1,0}, +{19,-1,0}, +{19,-2,0}, +{18,-2,0}, +{18,2,0}, +{19,2,0}, +{19,1,0}, +{18,1,0}, +{15,4,0}, +{15,-4,0}, +{21,-4,0}, +{21,-3,0}, +{22,-3,0}, +{22,0,0}, +{21,0,0}, +{21,1,0}, +{22,1,0}, +{22,3,0}, +{21,3,0}, +{21,4,0}, +{-20.999615,4.999909,0}, +{-13.999743,4.999909,0}, +{-13.999743,3.999927,0}, +{-12.999762,3.999927,0}, +{-12.999762,4.999909,0}, +{-6.999871,4.999909,0}, +{-6.999871,3.999927,0}, +{-4.999909,3.999927,0}, +{-4.999909,4.999909,0}, +{0.999982,4.999909,0}, +{0.999982,3.999927,0}, +{2.999945,3.999927,0}, +{2.999945,4.999909,0}, +{5.99989,4.999909,0}, +{5.99989,3.999927,0}, +{6.999871,3.999927,0}, +{6.999871,-0.999982,0}, +{9.999818,-0.999982,0}, +{9.999818,3.999927,0}, +{10.999798,3.999927,0}, +{10.999798,4.999909,0}, +{13.999743,4.999909,0}, +{13.999743,3.999927,0}, +{14.999724,3.999927,0}, +{14.999724,4.999909,0}, +{20.999615,4.999909,0}, +{20.999615,3.999927,0}, +{21.999596,3.999927,0}, +{21.999596,2.999945,0}, +{22.999578,2.999945,0}, +{22.999578,0.999982,0}, +{21.999596,0.999982,0}, +{21.999596,0,0}, +{22.999578,0,0}, +{22.999578,-2.999945,0}, +{21.999596,-2.999945,0}, +{21.999596,-3.999927,0}, +{20.999615,-3.999927,0}, +{20.999615,-4.999909,0}, +{14.999724,-4.999909,0}, +{14.999724,-3.999927,0}, +{13.999743,-3.999826,0}, +{13.999743,-4.999909,0}, +{10.999798,-4.999909,0}, +{10.999798,-3.999927,0}, +{9.999818,-3.999823,0}, +{9.999818,-4.999909,0}, +{3.999927,-4.999909,0}, +{3.999927,-3.999927,0}, +{1.999963,-3.999927,0}, +{1.999963,-4.999909,0}, +{-0.999982,-4.999909,0}, +{-0.999982,-3.999927,0}, +{-1.999963,-3.999927,0}, +{-1.999963,-4.999909,0}, +{-4.999909,-4.999909,0}, +{-4.999909,-3.999927,0}, +{-5.99989,-3.999927,0}, +{-5.99989,-4.999909,0}, +{-8.999835,-4.999909,0}, +{-8.999835,-3.999927,0}, +{-9.999818,-3.999927,0}, +{-9.999818,-4.999909,0}, +{-12.999762,-4.999909,0}, +{-12.999762,-3.999927,0}, +{-14.999724,-3.999927,0}, +{-14.999724,-4.999909,0}, +{-20.999615,-4.999909,0}, +{-20.999615,-3.999927,0}, +{-21.999596,-3.999927,0}, +{-21.999596,-2.999945,0}, +{-22.999578,-2.999945,0}, +{-22.999578,2.999945,0}, +{-21.999596,2.999945,0}, +{-21.999596,3.999927,0}, +{-20.999615,3.999927,0}, +{-21,6,0}, +{-14,6,0}, +{-14,5,0}, +{-13,5,0}, +{-13,6,0}, +{-7,6,0}, +{-7,5,0}, +{-5,5,0}, +{-5,6,0}, +{1,6,0}, +{1,5,0}, +{3,5,0}, +{3,6,0}, +{6,6,0}, +{6,5,0}, +{7,5,0}, +{7,4,0}, +{8,4,0}, +{8,0,0}, +{9,0,0}, +{9,4,0}, +{10,4,0}, +{10,5,0}, +{11,5,0}, +{11,6,0}, +{14,6,0}, +{14,5,0}, +{15,5,0}, +{15,6,0}, +{21,6,0}, +{21,5,0}, +{22,5,0}, +{22,4,0}, +{23,4,0}, +{23,3,0}, +{24,3,0}, +{24,1,0}, +{23,1,0}, +{23,0,0}, +{24,0,0}, +{24,-3,0}, +{23,-3,0}, +{23,-4,0}, +{22,-4,0}, +{22,-5,0}, +{21,-5,0}, +{21,-6,0}, +{15,-6,0}, +{15,-5,0}, +{14,-4.999899,0}, +{14,-6,0}, +{11,-6,0}, +{11,-5,0}, +{10,-4.999896,0}, +{10,-6,0}, +{4,-6,0}, +{4,-5,0}, +{2,-5,0}, +{2,-6,0}, +{-1,-6,0}, +{-1,-5,0}, +{-2,-5,0}, +{-2,-6,0}, +{-5,-6,0}, +{-5,-5,0}, +{-6,-5,0}, +{-6,-6,0}, +{-9,-6,0}, +{-9,-5,0}, +{-10,-5,0}, +{-10,-6,0}, +{-13,-6,0}, +{-13,-5,0}, +{-15,-5,0}, +{-15,-6,0}, +{-21,-6,0}, +{-21,-5,0}, +{-22,-5,0}, +{-22,-4,0}, +{-23,-4,0}, +{-23,-3,0}, +{-24,-3,0}, +{-24,3,0}, +{-23,3,0}, +{-23,4,0}, +{-22,4,0}, +{-22,5,0}, +{-21,5,0}, +{-20.999615,4.999909,0}, +{-13.999743,4.999909,0}, +{-13.999743,3.999927,0}, +{-12.999762,3.999927,0}, +{-12.999762,4.999909,0}, +{-6.999871,4.999909,0}, +{-6.999871,3.999927,0}, +{-4.999909,3.999927,0}, +{-4.999909,4.999909,0}, +{0.999982,4.999909,0}, +{0.999982,3.999927,0}, +{2.999945,3.999927,0}, +{2.999945,4.999909,0}, +{5.99989,4.999909,0}, +{5.99989,3.999927,0}, +{6.999871,3.999927,0}, +{6.999871,-0.999982,0}, +{9.999818,-0.999982,0}, +{9.999818,3.999927,0}, +{10.999798,3.999927,0}, +{10.999798,4.999909,0}, +{13.999743,4.999909,0}, +{13.999743,3.999927,0}, +{14.999724,3.999927,0}, +{14.999724,4.999909,0}, +{20.999615,4.999909,0}, +{20.999615,3.999927,0}, +{21.999596,3.999927,0}, +{21.999596,2.999945,0}, +{22.999578,2.999945,0}, +{22.999578,0.999982,0}, +{21.999596,0.999982,0}, +{21.999596,0,0}, +{22.999578,0,0}, +{22.999578,-2.999945,0}, +{21.999596,-2.999945,0}, +{21.999596,-3.999927,0}, +{20.999615,-3.999927,0}, +{20.999615,-4.999909,0}, +{14.999724,-4.999909,0}, +{14.999724,-3.999927,0}, +{13.999743,-3.999826,0}, +{13.999743,-4.999909,0}, +{10.999798,-4.999909,0}, +{10.999798,-3.999927,0}, +{9.999818,-3.999823,0}, +{9.999818,-4.999909,0}, +{3.999927,-4.999909,0}, +{3.999927,-3.999927,0}, +{1.999963,-3.999927,0}, +{1.999963,-4.999909,0}, +{-0.999982,-4.999909,0}, +{-0.999982,-3.999927,0}, +{-1.999963,-3.999927,0}, +{-1.999963,-4.999909,0}, +{-4.999909,-4.999909,0}, +{-4.999909,-3.999927,0}, +{-5.99989,-3.999927,0}, +{-5.99989,-4.999909,0}, +{-8.999835,-4.999909,0}, +{-8.999835,-3.999927,0}, +{-9.999818,-3.999927,0}, +{-9.999818,-4.999909,0}, +{-12.999762,-4.999909,0}, +{-12.999762,-3.999927,0}, +{-14.999724,-3.999927,0}, +{-14.999724,-4.999909,0}, +{-20.999615,-4.999909,0}, +{-20.999615,-3.999927,0}, +{-21.999596,-3.999927,0}, +{-21.999596,-2.999945,0}, +{-22.999578,-2.999945,0}, +{-22.999578,2.999945,0}, +{-21.999596,2.999945,0}, +{-21.999596,3.999927,0}, +{-20.999615,3.999927,0}, +{-21,6,0}, +{-14,6,0}, +{-14,5,0}, +{-13,5,0}, +{-13,6,0}, +{-7,6,0}, +{-7,5,0}, +{-5,5,0}, +{-5,6,0}, +{1,6,0}, +{1,5,0}, +{3,5,0}, +{3,6,0}, +{6,6,0}, +{6,5,0}, +{7,5,0}, +{7,4,0}, +{8,4,0}, +{8,0,0}, +{9,0,0}, +{9,4,0}, +{10,4,0}, +{10,5,0}, +{11,5,0}, +{11,6,0}, +{14,6,0}, +{14,5,0}, +{15,5,0}, +{15,6,0}, +{21,6,0}, +{21,5,0}, +{22,5,0}, +{22,4,0}, +{23,4,0}, +{23,3,0}, +{24,3,0}, +{24,1,0}, +{23,1,0}, +{23,0,0}, +{24,0,0}, +{24,-3,0}, +{23,-3,0}, +{23,-4,0}, +{22,-4,0}, +{22,-5,0}, +{21,-5,0}, +{21,-6,0}, +{15,-6,0}, +{15,-5,0}, +{14,-4.999899,0}, +{14,-6,0}, +{11,-6,0}, +{11,-5,0}, +{10,-4.999896,0}, +{10,-6,0}, +{4,-6,0}, +{4,-5,0}, +{2,-5,0}, +{2,-6,0}, +{-1,-6,0}, +{-1,-5,0}, +{-2,-5,0}, +{-2,-6,0}, +{-5,-6,0}, +{-5,-5,0}, +{-6,-5,0}, +{-6,-6,0}, +{-9,-6,0}, +{-9,-5,0}, +{-10,-5,0}, +{-10,-6,0}, +{-13,-6,0}, +{-13,-5,0}, +{-15,-5,0}, +{-15,-6,0}, +{-21,-6,0}, +{-21,-5,0}, +{-22,-5,0}, +{-22,-4,0}, +{-23,-4,0}, +{-23,-3,0}, +{-24,-3,0}, +{-24,3,0}, +{-23,3,0}, +{-23,4,0}, +{-22,4,0}, +{-22,5,0}, +{-21,5,0}, +{-20.999615,4.999909,-2}, +{-13.999743,4.999909,-2}, +{-13.999743,3.999927,-2}, +{-12.999762,3.999927,-2}, +{-12.999762,4.999909,-2}, +{-6.999871,4.999909,-2}, +{-6.999871,3.999927,-2}, +{-4.999909,3.999927,-2}, +{-4.999909,4.999909,-2}, +{0.999982,4.999909,-2}, +{0.999982,3.999927,-2}, +{2.999945,3.999927,-2}, +{2.999945,4.999909,-2}, +{5.99989,4.999909,-2}, +{5.99989,3.999927,-2}, +{6.999871,3.999927,-2}, +{6.999871,-0.999982,-2}, +{9.999818,-0.999982,-2}, +{9.999818,3.999927,-2}, +{10.999798,3.999927,-2}, +{10.999798,4.999909,-2}, +{13.999743,4.999909,-2}, +{13.999743,3.999927,-2}, +{14.999724,3.999927,-2}, +{14.999724,4.999909,-2}, +{20.999615,4.999909,-2}, +{20.999615,3.999927,-2}, +{21.999596,3.999927,-2}, +{21.999596,2.999945,-2}, +{22.999578,2.999945,-2}, +{22.999578,0.999982,-2}, +{21.999596,0.999982,-2}, +{21.999596,0,-2}, +{22.999578,0,-2}, +{22.999578,-2.999945,-2}, +{21.999596,-2.999945,-2}, +{21.999596,-3.999927,-2}, +{20.999615,-3.999927,-2}, +{20.999615,-4.999909,-2}, +{14.999724,-4.999909,-2}, +{14.999724,-3.999927,-2}, +{13.999743,-3.999826,-2}, +{13.999743,-4.999909,-2}, +{10.999798,-4.999909,-2}, +{10.999798,-3.999927,-2}, +{9.999818,-3.999823,-2}, +{9.999818,-4.999909,-2}, +{3.999927,-4.999909,-2}, +{3.999927,-3.999927,-2}, +{1.999963,-3.999927,-2}, +{1.999963,-4.999909,-2}, +{-0.999982,-4.999909,-2}, +{-0.999982,-3.999927,-2}, +{-1.999963,-3.999927,-2}, +{-1.999963,-4.999909,-2}, +{-4.999909,-4.999909,-2}, +{-4.999909,-3.999927,-2}, +{-5.99989,-3.999927,-2}, +{-5.99989,-4.999909,-2}, +{-8.999835,-4.999909,-2}, +{-8.999835,-3.999927,-2}, +{-9.999818,-3.999927,-2}, +{-9.999818,-4.999909,-2}, +{-12.999762,-4.999909,-2}, +{-12.999762,-3.999927,-2}, +{-14.999724,-3.999927,-2}, +{-14.999724,-4.999909,-2}, +{-20.999615,-4.999909,-2}, +{-20.999615,-3.999927,-2}, +{-21.999596,-3.999927,-2}, +{-21.999596,-2.999945,-2}, +{-22.999578,-2.999945,-2}, +{-22.999578,2.999945,-2}, +{-21.999596,2.999945,-2}, +{-21.999596,3.999927,-2}, +{-20.999615,3.999927,-2}, +{-21,6,-2}, +{-14,6,-2}, +{-14,5,-2}, +{-13,5,-2}, +{-13,6,-2}, +{-7,6,-2}, +{-7,5,-2}, +{-5,5,-2}, +{-5,6,-2}, +{1,6,-2}, +{1,5,-2}, +{3,5,-2}, +{3,6,-2}, +{6,6,-2}, +{6,5,-2}, +{7,5,-2}, +{7,4,-2}, +{8,4,-2}, +{8,0,-2}, +{9,0,-2}, +{9,4,-2}, +{10,4,-2}, +{10,5,-2}, +{11,5,-2}, +{11,6,-2}, +{14,6,-2}, +{14,5,-2}, +{15,5,-2}, +{15,6,-2}, +{21,6,-2}, +{21,5,-2}, +{22,5,-2}, +{22,4,-2}, +{23,4,-2}, +{23,3,-2}, +{24,3,-2}, +{24,1,-2}, +{23,1,-2}, +{23,0,-2}, +{24,0,-2}, +{24,-3,-2}, +{23,-3,-2}, +{23,-4,-2}, +{22,-4,-2}, +{22,-5,-2}, +{21,-5,-2}, +{21,-6,-2}, +{15,-6,-2}, +{15,-5,-2}, +{14,-4.999899,-2}, +{14,-6,-2}, +{11,-6,-2}, +{11,-5,-2}, +{10,-4.999896,-2}, +{10,-6,-2}, +{4,-6,-2}, +{4,-5,-2}, +{2,-5,-2}, +{2,-6,-2}, +{-1,-6,-2}, +{-1,-5,-2}, +{-2,-5,-2}, +{-2,-6,-2}, +{-5,-6,-2}, +{-5,-5,-2}, +{-6,-5,-2}, +{-6,-6,-2}, +{-9,-6,-2}, +{-9,-5,-2}, +{-10,-5,-2}, +{-10,-6,-2}, +{-13,-6,-2}, +{-13,-5,-2}, +{-15,-5,-2}, +{-15,-6,-2}, +{-21,-6,-2}, +{-21,-5,-2}, +{-22,-5,-2}, +{-22,-4,-2}, +{-23,-4,-2}, +{-23,-3,-2}, +{-24,-3,-2}, +{-24,3,-2}, +{-23,3,-2}, +{-23,4,-2}, +{-22,4,-2}, +{-22,5,-2}, +{-21,5,-2}, +{18,-1,0}, +{19,-1,0}, +{19,-2,0}, +{18,-2,0}, +{18,2,0}, +{19,2,0}, +{19,1,0}, +{18,1,0}, +{15,4,0}, +{15,-4,0}, +{21,-4,0}, +{21,-3,0}, +{22,-3,0}, +{22,0,0}, +{21,0,0}, +{21,1,0}, +{22,1,0}, +{22,3,0}, +{21,3,0}, +{21,4,0}, +{18,-1,-2}, +{19,-1,-2}, +{19,-2,-2}, +{18,-2,-2}, +{18,2,-2}, +{19,2,-2}, +{19,1,-2}, +{18,1,-2}, +{15,4,-2}, +{15,-4,-2}, +{21,-4,-2}, +{21,-3,-2}, +{22,-3,-2}, +{22,0,-2}, +{21,0,-2}, +{21,1,-2}, +{22,1,-2}, +{22,3,-2}, +{21,3,-2}, +{21,4,-2}, +{11,-4,0}, +{11,4,0}, +{14,4,0}, +{14,-4,0}, +{11,-4,-2}, +{11,4,-2}, +{14,4,-2}, +{14,-4,-2}, +{3,4,0}, +{3,-3,0}, +{4,-3,0}, +{4,-4,0}, +{10,-4,0}, +{10,-2,0}, +{6,-2,0}, +{6,4,0}, +{3,4,-2}, +{3,-3,-2}, +{4,-3,-2}, +{4,-4,-2}, +{10,-4,-2}, +{10,-2,-2}, +{6,-2,-2}, +{6,4,-2}, +{-2,1,0}, +{-1,1,0}, +{-1,2,0}, +{-2,2,0}, +{-5,4,0}, +{-5,-4,0}, +{-2,-4,0}, +{-2,-1,0}, +{-1,-1,0}, +{-1,-4,0}, +{2,-4,0}, +{2,0,0}, +{1,0,0}, +{1,1,0}, +{2,1,0}, +{2,3,0}, +{1,3,0}, +{1,4,0}, +{-2,1,-2}, +{-1,1,-2}, +{-1,2,-2}, +{-2,2,-2}, +{-5,4,-2}, +{-5,-4,-2}, +{-2,-4,-2}, +{-2,-1,-2}, +{-1,-1,-2}, +{-1,-4,-2}, +{2,-4,-2}, +{2,0,-2}, +{1,0,-2}, +{1,1,-2}, +{2,1,-2}, +{2,3,-2}, +{1,3,-2}, +{1,4,-2}, +{-10,1,0}, +{-9,1,0}, +{-9,2,0}, +{-10,2,0}, +{-13,4,0}, +{-13,-4,0}, +{-10,-4,0}, +{-10,-1,0}, +{-9,-1,0}, +{-9,-4,0}, +{-6,-4,0}, +{-6,0,0}, +{-7,0,0}, +{-7,1,0}, +{-6,1,0}, +{-6,3,0}, +{-7,3,0}, +{-7,4,0}, +{-10,1,-2}, +{-9,1,-2}, +{-9,2,-2}, +{-10,2,-2}, +{-13,4,-2}, +{-13,-4,-2}, +{-10,-4,-2}, +{-10,-1,-2}, +{-9,-1,-2}, +{-9,-4,-2}, +{-6,-4,-2}, +{-6,0,-2}, +{-7,0,-2}, +{-7,1,-2}, +{-6,1,-2}, +{-6,3,-2}, +{-7,3,-2}, +{-7,4,-2}, +{-22,3,0}, +{-21,3,0}, +{-21,4,0}, +{-14,4,0}, +{-14,2,0}, +{-19,2,0}, +{-19,-2,0}, +{-17,-2,0}, +{-17,-0.999999,0}, +{-18,-1.000001,0}, +{-17.999994,1,0}, +{-14,1,0}, +{-14,-3,0}, +{-15,-3,0}, +{-15,-4,0}, +{-21,-4,0}, +{-21,-3,0}, +{-22,-3,0}, +{-22,3,-2}, +{-21,3,-2}, +{-21,4,-2}, +{-14,4,-2}, +{-14,2,-2}, +{-19,2,-2}, +{-19,-2,-2}, +{-17,-2,-2}, +{-17,-0.999999,-2}, +{-18,-1.000001,-2}, +{-17.999994,1,-2}, +{-14,1,-2}, +{-14,-3,-2}, +{-15,-3,-2}, +{-15,-4,-2}, +{-21,-4,-2}, +{-21,-3,-2}, +{-22,-3,-2}}; + +int logoFac[][1]={{2},{17},{18}, +{1},{2},{18}, +{7},{16},{17}, +{2},{7},{17}, +{8},{15},{16}, +{7},{8},{16}, +{8},{14},{15}, +{12},{13},{14}, +{9},{12},{14}, +{8},{9},{14}, +{9},{11},{12}, +{9},{10},{11}, +{2},{6},{7}, +{4},{5},{6}, +{3},{4},{6}, +{2},{3},{6}, +{26},{24},{23}, +{19},{26},{23}, +{22},{19},{23}, +{36},{22},{23}, +{26},{25},{24}, +{20},{27},{26}, +{19},{20},{26}, +{29},{28},{27}, +{31},{29},{27}, +{20},{31},{27}, +{31},{30},{29}, +{20},{32},{31}, +{34},{33},{32}, +{35},{34},{32}, +{21},{35},{32}, +{20},{21},{32}, +{21},{36},{35}, +{21},{22},{36}, +{44},{42},{41}, +{37},{44},{41}, +{40},{37},{41}, +{54},{40},{41}, +{44},{43},{42}, +{38},{45},{44}, +{37},{38},{44}, +{47},{46},{45}, +{49},{47},{45}, +{38},{49},{45}, +{49},{48},{47}, +{38},{50},{49}, +{52},{51},{50}, +{53},{52},{50}, +{39},{53},{50}, +{38},{39},{50}, +{39},{54},{53}, +{39},{40},{54}, +{57},{56},{55}, +{61},{57},{55}, +{62},{61},{55}, +{61},{58},{57}, +{61},{59},{58}, +{61},{60},{59}, +{63},{65},{66}, +{63},{64},{65}, +{67},{76},{75}, +{74},{67},{75}, +{71},{74},{75}, +{86},{71},{75}, +{70},{77},{76}, +{67},{70},{76}, +{69},{78},{77}, +{70},{69},{77}, +{80},{79},{78}, +{81},{80},{78}, +{69},{81},{78}, +{73},{82},{81}, +{68},{73},{81}, +{69},{68},{81}, +{84},{83},{82}, +{85},{84},{82}, +{72},{85},{82}, +{73},{72},{82}, +{72},{86},{85}, +{72},{71},{86}, +{73},{68},{67}, +{74},{73},{67}, +{87},{162},{250}, +{163},{87},{250}, +{161},{249},{250}, +{162},{161},{250}, +{161},{248},{249}, +{161},{160},{248}, +{159},{247},{248}, +{160},{159},{248}, +{159},{246},{247}, +{158},{243},{246}, +{159},{158},{246}, +{244},{245},{246}, +{243},{244},{246}, +{158},{242},{243}, +{158},{241},{242}, +{156},{240},{241}, +{157},{156},{241}, +{158},{157},{241}, +{156},{239},{240}, +{154},{238},{239}, +{155},{154},{239}, +{156},{155},{239}, +{154},{237},{238}, +{154},{236},{237}, +{153},{235},{236}, +{154},{153},{236}, +{150},{234},{235}, +{151},{150},{235}, +{152},{151},{235}, +{153},{152},{235}, +{150},{233},{234}, +{150},{232},{233}, +{149},{231},{232}, +{150},{149},{232}, +{146},{230},{231}, +{147},{146},{231}, +{148},{147},{231}, +{149},{148},{231}, +{146},{229},{230}, +{146},{228},{229}, +{145},{227},{228}, +{146},{145},{228}, +{142},{226},{227}, +{145},{142},{227}, +{142},{225},{226}, +{142},{224},{225}, +{141},{223},{224}, +{142},{141},{224}, +{137},{222},{223}, +{138},{137},{223}, +{141},{138},{223}, +{137},{221},{222}, +{137},{220},{221}, +{134},{219},{220}, +{137},{134},{220}, +{133},{218},{219}, +{134},{133},{219}, +{133},{217},{218}, +{133},{216},{217}, +{130},{215},{216}, +{131},{130},{216}, +{132},{131},{216}, +{133},{132},{216}, +{129},{214},{215}, +{130},{129},{215}, +{129},{213},{214}, +{129},{212},{213}, +{126},{211},{212}, +{127},{126},{212}, +{128},{127},{212}, +{129},{128},{212}, +{125},{210},{211}, +{126},{125},{211}, +{125},{209},{210}, +{125},{208},{209}, +{123},{207},{208}, +{124},{123},{208}, +{125},{124},{208}, +{123},{206},{207}, +{121},{205},{206}, +{122},{121},{206}, +{123},{122},{206}, +{121},{204},{205}, +{201},{203},{204}, +{121},{201},{204}, +{201},{202},{203}, +{117},{200},{201}, +{120},{117},{201}, +{121},{120},{201}, +{197},{199},{200}, +{116},{197},{200}, +{117},{116},{200}, +{197},{198},{199}, +{116},{196},{197}, +{116},{195},{196}, +{114},{194},{195}, +{115},{114},{195}, +{116},{115},{195}, +{114},{193},{194}, +{112},{192},{193}, +{113},{112},{193}, +{114},{113},{193}, +{112},{191},{192}, +{112},{190},{191}, +{111},{189},{190}, +{112},{111},{190}, +{111},{110},{189}, +{108},{188},{189}, +{109},{108},{189}, +{110},{109},{189}, +{108},{187},{188}, +{108},{186},{187}, +{107},{185},{186}, +{108},{107},{186}, +{107},{184},{185}, +{107},{106},{184}, +{105},{183},{184}, +{106},{105},{184}, +{105},{182},{183}, +{105},{104},{182}, +{104},{181},{182}, +{102},{180},{181}, +{103},{102},{181}, +{104},{103},{181}, +{102},{179},{180}, +{102},{178},{179}, +{102},{177},{178}, +{100},{176},{177}, +{101},{100},{177}, +{102},{101},{177}, +{100},{175},{176}, +{100},{174},{175}, +{99},{173},{174}, +{100},{99},{174}, +{96},{172},{173}, +{99},{96},{173}, +{95},{171},{172}, +{96},{95},{172}, +{95},{170},{171}, +{95},{94},{170}, +{92},{169},{170}, +{93},{92},{170}, +{94},{93},{170}, +{91},{168},{169}, +{92},{91},{169}, +{91},{167},{168}, +{91},{166},{167}, +{91},{90},{166}, +{88},{165},{166}, +{89},{88},{166}, +{90},{89},{166}, +{87},{164},{165}, +{88},{87},{165}, +{87},{163},{164}, +{99},{97},{96}, +{99},{98},{97}, +{119},{118},{117}, +{120},{119},{117}, +{137},{135},{134}, +{137},{136},{135}, +{141},{139},{138}, +{141},{140},{139}, +{145},{143},{142}, +{145},{144},{143}, +{267},{252},{251}, +{268},{267},{251}, +{256},{253},{252}, +{267},{256},{252}, +{256},{254},{253}, +{256},{255},{254}, +{267},{257},{256}, +{265},{258},{257}, +{266},{265},{257}, +{267},{266},{257}, +{264},{259},{258}, +{265},{264},{258}, +{264},{262},{259}, +{261},{260},{259}, +{262},{261},{259}, +{264},{263},{262}, +{271},{285},{286}, +{272},{271},{286}, +{273},{272},{286}, +{283},{284},{285}, +{282},{283},{285}, +{271},{282},{285}, +{270},{281},{282}, +{271},{270},{282}, +{279},{280},{281}, +{277},{279},{281}, +{270},{277},{281}, +{277},{278},{279}, +{269},{276},{277}, +{270},{269},{277}, +{274},{275},{276}, +{269},{274},{276}, +{269},{273},{274}, +{269},{272},{273}, +{289},{303},{304}, +{290},{289},{304}, +{291},{290},{304}, +{301},{302},{303}, +{300},{301},{303}, +{289},{300},{303}, +{288},{299},{300}, +{289},{288},{300}, +{297},{298},{299}, +{295},{297},{299}, +{288},{295},{299}, +{295},{296},{297}, +{287},{294},{295}, +{288},{287},{295}, +{292},{293},{294}, +{287},{292},{294}, +{287},{291},{292}, +{287},{290},{291}, +{305},{311},{312}, +{309},{310},{311}, +{308},{309},{311}, +{307},{308},{311}, +{305},{307},{311}, +{305},{306},{307}, +{316},{314},{313}, +{316},{315},{314}, +{322},{335},{336}, +{321},{322},{336}, +{325},{321},{336}, +{333},{334},{335}, +{332},{333},{335}, +{322},{332},{335}, +{323},{331},{332}, +{322},{323},{332}, +{329},{330},{331}, +{328},{329},{331}, +{318},{328},{331}, +{323},{318},{331}, +{319},{327},{328}, +{318},{319},{328}, +{320},{326},{327}, +{319},{320},{327}, +{324},{325},{326}, +{317},{324},{326}, +{320},{317},{326}, +{324},{321},{325}, +{324},{317},{318}, +{323},{324},{318}, +{337},{414},{413}, +{500},{337},{413}, +{337},{415},{414}, +{338},{416},{415}, +{337},{338},{415}, +{341},{417},{416}, +{340},{341},{416}, +{339},{340},{416}, +{338},{339},{416}, +{341},{418},{417}, +{341},{419},{418}, +{342},{420},{419}, +{341},{342},{419}, +{345},{421},{420}, +{344},{345},{420}, +{343},{344},{420}, +{342},{343},{420}, +{345},{422},{421}, +{346},{423},{422}, +{345},{346},{422}, +{349},{424},{423}, +{346},{349},{423}, +{350},{425},{424}, +{349},{350},{424}, +{350},{426},{425}, +{350},{427},{426}, +{352},{428},{427}, +{351},{352},{427}, +{350},{351},{427}, +{352},{429},{428}, +{352},{430},{429}, +{352},{431},{430}, +{354},{432},{431}, +{353},{354},{431}, +{352},{353},{431}, +{355},{433},{432}, +{354},{355},{432}, +{355},{434},{433}, +{357},{435},{434}, +{356},{357},{434}, +{355},{356},{434}, +{357},{436},{435}, +{358},{437},{436}, +{357},{358},{436}, +{358},{438},{437}, +{358},{439},{438}, +{361},{440},{439}, +{360},{361},{439}, +{359},{360},{439}, +{358},{359},{439}, +{362},{441},{440}, +{361},{362},{440}, +{362},{442},{441}, +{362},{443},{442}, +{364},{444},{443}, +{363},{364},{443}, +{362},{363},{443}, +{364},{445},{444}, +{366},{446},{445}, +{365},{366},{445}, +{364},{365},{445}, +{366},{447},{446}, +{450},{448},{447}, +{366},{450},{447}, +{450},{449},{448}, +{367},{451},{450}, +{366},{367},{450}, +{454},{452},{451}, +{371},{454},{451}, +{370},{371},{451}, +{367},{370},{451}, +{454},{453},{452}, +{371},{455},{454}, +{371},{456},{455}, +{373},{457},{456}, +{372},{373},{456}, +{371},{372},{456}, +{373},{458},{457}, +{375},{459},{458}, +{374},{375},{458}, +{373},{374},{458}, +{375},{460},{459}, +{375},{461},{460}, +{376},{462},{461}, +{375},{376},{461}, +{376},{377},{462}, +{379},{463},{462}, +{378},{379},{462}, +{377},{378},{462}, +{379},{464},{463}, +{379},{465},{464}, +{380},{466},{465}, +{379},{380},{465}, +{380},{381},{466}, +{383},{467},{466}, +{382},{383},{466}, +{381},{382},{466}, +{383},{468},{467}, +{383},{469},{468}, +{384},{470},{469}, +{383},{384},{469}, +{387},{471},{470}, +{384},{387},{470}, +{387},{472},{471}, +{387},{473},{472}, +{387},{388},{473}, +{391},{474},{473}, +{388},{391},{473}, +{392},{475},{474}, +{391},{392},{474}, +{392},{476},{475}, +{392},{477},{476}, +{395},{478},{477}, +{392},{395},{477}, +{396},{479},{478}, +{395},{396},{478}, +{396},{480},{479}, +{396},{481},{480}, +{396},{397},{481}, +{399},{482},{481}, +{398},{399},{481}, +{397},{398},{481}, +{400},{483},{482}, +{399},{400},{482}, +{400},{484},{483}, +{400},{485},{484}, +{400},{401},{485}, +{403},{486},{485}, +{402},{403},{485}, +{401},{402},{485}, +{404},{487},{486}, +{403},{404},{486}, +{404},{488},{487}, +{404},{489},{488}, +{404},{405},{489}, +{406},{490},{489}, +{405},{406},{489}, +{406},{491},{490}, +{406},{407},{491}, +{408},{492},{491}, +{407},{408},{491}, +{408},{493},{492}, +{409},{496},{493}, +{408},{409},{493}, +{495},{494},{493}, +{496},{495},{493}, +{409},{497},{496}, +{409},{498},{497}, +{411},{499},{498}, +{410},{411},{498}, +{409},{410},{498}, +{411},{500},{499}, +{412},{337},{500}, +{411},{412},{500}, +{392},{394},{395}, +{392},{393},{394}, +{388},{390},{391}, +{388},{389},{390}, +{384},{386},{387}, +{384},{385},{386}, +{368},{369},{370}, +{367},{368},{370}, +{346},{348},{349}, +{346},{347},{348}, +{666},{502},{501}, +{667},{503},{502}, +{668},{504},{503}, +{669},{505},{504}, +{670},{506},{505}, +{671},{507},{506}, +{672},{508},{507}, +{673},{509},{508}, +{674},{510},{509}, +{675},{511},{510}, +{676},{512},{511}, +{677},{513},{512}, +{678},{514},{513}, +{679},{515},{514}, +{680},{516},{515}, +{681},{517},{516}, +{682},{518},{517}, +{683},{519},{518}, +{684},{520},{519}, +{685},{521},{520}, +{686},{522},{521}, +{687},{523},{522}, +{688},{524},{523}, +{689},{525},{524}, +{690},{526},{525}, +{691},{527},{526}, +{692},{528},{527}, +{693},{529},{528}, +{694},{530},{529}, +{695},{531},{530}, +{696},{532},{531}, +{697},{533},{532}, +{698},{534},{533}, +{699},{535},{534}, +{700},{536},{535}, +{701},{537},{536}, +{702},{538},{537}, +{703},{539},{538}, +{704},{540},{539}, +{705},{541},{540}, +{706},{542},{541}, +{707},{543},{542}, +{708},{544},{543}, +{709},{545},{544}, +{710},{546},{545}, +{711},{547},{546}, +{712},{548},{547}, +{713},{549},{548}, +{714},{550},{549}, +{715},{551},{550}, +{716},{552},{551}, +{717},{553},{552}, +{718},{554},{553}, +{719},{555},{554}, +{720},{556},{555}, +{721},{557},{556}, +{722},{558},{557}, +{723},{559},{558}, +{724},{560},{559}, +{725},{561},{560}, +{726},{562},{561}, +{727},{563},{562}, +{728},{564},{563}, +{729},{565},{564}, +{730},{566},{565}, +{731},{567},{566}, +{732},{568},{567}, +{733},{569},{568}, +{734},{570},{569}, +{735},{571},{570}, +{736},{572},{571}, +{737},{573},{572}, +{738},{574},{573}, +{739},{575},{574}, +{740},{576},{575}, +{665},{501},{576}, +{742},{741},{577}, +{743},{742},{578}, +{744},{743},{579}, +{745},{744},{580}, +{746},{745},{581}, +{747},{746},{582}, +{748},{747},{583}, +{749},{748},{584}, +{750},{749},{585}, +{751},{750},{586}, +{752},{751},{587}, +{753},{752},{588}, +{754},{753},{589}, +{755},{754},{590}, +{756},{755},{591}, +{757},{756},{592}, +{758},{757},{593}, +{759},{758},{594}, +{760},{759},{595}, +{761},{760},{596}, +{762},{761},{597}, +{763},{762},{598}, +{764},{763},{599}, +{765},{764},{600}, +{766},{765},{601}, +{767},{766},{602}, +{768},{767},{603}, +{769},{768},{604}, +{770},{769},{605}, +{771},{770},{606}, +{772},{771},{607}, +{773},{772},{608}, +{774},{773},{609}, +{775},{774},{610}, +{776},{775},{611}, +{777},{776},{612}, +{778},{777},{613}, +{779},{778},{614}, +{780},{779},{615}, +{781},{780},{616}, +{782},{781},{617}, +{783},{782},{618}, +{784},{783},{619}, +{785},{784},{620}, +{786},{785},{621}, +{787},{786},{622}, +{788},{787},{623}, +{789},{788},{624}, +{790},{789},{625}, +{791},{790},{626}, +{792},{791},{627}, +{793},{792},{628}, +{794},{793},{629}, +{795},{794},{630}, +{796},{795},{631}, +{797},{796},{632}, +{798},{797},{633}, +{799},{798},{634}, +{800},{799},{635}, +{801},{800},{636}, +{802},{801},{637}, +{803},{802},{638}, +{804},{803},{639}, +{805},{804},{640}, +{806},{805},{641}, +{807},{806},{642}, +{808},{807},{643}, +{809},{808},{644}, +{810},{809},{645}, +{811},{810},{646}, +{812},{811},{647}, +{813},{812},{648}, +{814},{813},{649}, +{815},{814},{650}, +{816},{815},{651}, +{817},{816},{652}, +{818},{817},{653}, +{819},{818},{654}, +{820},{819},{655}, +{821},{820},{656}, +{822},{821},{657}, +{823},{822},{658}, +{824},{823},{659}, +{825},{824},{660}, +{826},{825},{661}, +{827},{826},{662}, +{828},{827},{663}, +{741},{828},{664}, +{850},{830},{829}, +{851},{831},{830}, +{852},{832},{831}, +{849},{829},{832}, +{854},{834},{833}, +{855},{835},{834}, +{856},{836},{835}, +{853},{833},{836}, +{858},{838},{837}, +{859},{839},{838}, +{860},{840},{839}, +{861},{841},{840}, +{862},{842},{841}, +{863},{843},{842}, +{864},{844},{843}, +{865},{845},{844}, +{866},{846},{845}, +{867},{847},{846}, +{868},{848},{847}, +{857},{837},{848}, +{874},{873},{869}, +{875},{874},{870}, +{876},{875},{871}, +{873},{876},{872}, +{886},{878},{877}, +{887},{879},{878}, +{888},{880},{879}, +{889},{881},{880}, +{890},{882},{881}, +{891},{883},{882}, +{892},{884},{883}, +{885},{877},{884}, +{912},{911},{893}, +{913},{912},{894}, +{914},{913},{895}, +{911},{914},{896}, +{916},{898},{897}, +{917},{899},{898}, +{918},{900},{899}, +{919},{901},{900}, +{920},{902},{901}, +{921},{903},{902}, +{922},{904},{903}, +{923},{905},{904}, +{924},{906},{905}, +{925},{907},{906}, +{926},{908},{907}, +{927},{909},{908}, +{928},{910},{909}, +{915},{897},{910}, +{948},{947},{929}, +{949},{948},{930}, +{950},{949},{931}, +{947},{950},{932}, +{952},{934},{933}, +{953},{935},{934}, +{954},{936},{935}, +{955},{937},{936}, +{956},{938},{937}, +{957},{939},{938}, +{958},{940},{939}, +{959},{941},{940}, +{960},{942},{941}, +{961},{943},{942}, +{962},{944},{943}, +{963},{945},{944}, +{964},{946},{945}, +{951},{933},{946}, +{984},{983},{965}, +{985},{984},{966}, +{986},{985},{967}, +{987},{986},{968}, +{988},{987},{969}, +{989},{988},{970}, +{990},{989},{971}, +{991},{990},{972}, +{992},{991},{973}, +{993},{992},{974}, +{994},{993},{975}, +{995},{994},{976}, +{996},{995},{977}, +{997},{996},{978}, +{998},{997},{979}, +{999},{998},{980}, +{1000},{999},{981}, +{983},{1000},{982}, +{665},{666},{501}, +{666},{667},{502}, +{667},{668},{503}, +{668},{669},{504}, +{669},{670},{505}, +{670},{671},{506}, +{671},{672},{507}, +{672},{673},{508}, +{673},{674},{509}, +{674},{675},{510}, +{675},{676},{511}, +{676},{677},{512}, +{677},{678},{513}, +{678},{679},{514}, +{679},{680},{515}, +{680},{681},{516}, +{681},{682},{517}, +{682},{683},{518}, +{683},{684},{519}, +{684},{685},{520}, +{685},{686},{521}, +{686},{687},{522}, +{687},{688},{523}, +{688},{689},{524}, +{689},{690},{525}, +{690},{691},{526}, +{691},{692},{527}, +{692},{693},{528}, +{693},{694},{529}, +{694},{695},{530}, +{695},{696},{531}, +{696},{697},{532}, +{697},{698},{533}, +{698},{699},{534}, +{699},{700},{535}, +{700},{701},{536}, +{701},{702},{537}, +{702},{703},{538}, +{703},{704},{539}, +{704},{705},{540}, +{705},{706},{541}, +{706},{707},{542}, +{707},{708},{543}, +{708},{709},{544}, +{709},{710},{545}, +{710},{711},{546}, +{711},{712},{547}, +{712},{713},{548}, +{713},{714},{549}, +{714},{715},{550}, +{715},{716},{551}, +{716},{717},{552}, +{717},{718},{553}, +{718},{719},{554}, +{719},{720},{555}, +{720},{721},{556}, +{721},{722},{557}, +{722},{723},{558}, +{723},{724},{559}, +{724},{725},{560}, +{725},{726},{561}, +{726},{727},{562}, +{727},{728},{563}, +{728},{729},{564}, +{729},{730},{565}, +{730},{731},{566}, +{731},{732},{567}, +{732},{733},{568}, +{733},{734},{569}, +{734},{735},{570}, +{735},{736},{571}, +{736},{737},{572}, +{737},{738},{573}, +{738},{739},{574}, +{739},{740},{575}, +{740},{665},{576}, +{578},{742},{577}, +{579},{743},{578}, +{580},{744},{579}, +{581},{745},{580}, +{582},{746},{581}, +{583},{747},{582}, +{584},{748},{583}, +{585},{749},{584}, +{586},{750},{585}, +{587},{751},{586}, +{588},{752},{587}, +{589},{753},{588}, +{590},{754},{589}, +{591},{755},{590}, +{592},{756},{591}, +{593},{757},{592}, +{594},{758},{593}, +{595},{759},{594}, +{596},{760},{595}, +{597},{761},{596}, +{598},{762},{597}, +{599},{763},{598}, +{600},{764},{599}, +{601},{765},{600}, +{602},{766},{601}, +{603},{767},{602}, +{604},{768},{603}, +{605},{769},{604}, +{606},{770},{605}, +{607},{771},{606}, +{608},{772},{607}, +{609},{773},{608}, +{610},{774},{609}, +{611},{775},{610}, +{612},{776},{611}, +{613},{777},{612}, +{614},{778},{613}, +{615},{779},{614}, +{616},{780},{615}, +{617},{781},{616}, +{618},{782},{617}, +{619},{783},{618}, +{620},{784},{619}, +{621},{785},{620}, +{622},{786},{621}, +{623},{787},{622}, +{624},{788},{623}, +{625},{789},{624}, +{626},{790},{625}, +{627},{791},{626}, +{628},{792},{627}, +{629},{793},{628}, +{630},{794},{629}, +{631},{795},{630}, +{632},{796},{631}, +{633},{797},{632}, +{634},{798},{633}, +{635},{799},{634}, +{636},{800},{635}, +{637},{801},{636}, +{638},{802},{637}, +{639},{803},{638}, +{640},{804},{639}, +{641},{805},{640}, +{642},{806},{641}, +{643},{807},{642}, +{644},{808},{643}, +{645},{809},{644}, +{646},{810},{645}, +{647},{811},{646}, +{648},{812},{647}, +{649},{813},{648}, +{650},{814},{649}, +{651},{815},{650}, +{652},{816},{651}, +{653},{817},{652}, +{654},{818},{653}, +{655},{819},{654}, +{656},{820},{655}, +{657},{821},{656}, +{658},{822},{657}, +{659},{823},{658}, +{660},{824},{659}, +{661},{825},{660}, +{662},{826},{661}, +{663},{827},{662}, +{664},{828},{663}, +{577},{741},{664}, +{849},{850},{829}, +{850},{851},{830}, +{851},{852},{831}, +{852},{849},{832}, +{853},{854},{833}, +{854},{855},{834}, +{855},{856},{835}, +{856},{853},{836}, +{857},{858},{837}, +{858},{859},{838}, +{859},{860},{839}, +{860},{861},{840}, +{861},{862},{841}, +{862},{863},{842}, +{863},{864},{843}, +{864},{865},{844}, +{865},{866},{845}, +{866},{867},{846}, +{867},{868},{847}, +{868},{857},{848}, +{870},{874},{869}, +{871},{875},{870}, +{872},{876},{871}, +{869},{873},{872}, +{885},{886},{877}, +{886},{887},{878}, +{887},{888},{879}, +{888},{889},{880}, +{889},{890},{881}, +{890},{891},{882}, +{891},{892},{883}, +{892},{885},{884}, +{894},{912},{893}, +{895},{913},{894}, +{896},{914},{895}, +{893},{911},{896}, +{915},{916},{897}, +{916},{917},{898}, +{917},{918},{899}, +{918},{919},{900}, +{919},{920},{901}, +{920},{921},{902}, +{921},{922},{903}, +{922},{923},{904}, +{923},{924},{905}, +{924},{925},{906}, +{925},{926},{907}, +{926},{927},{908}, +{927},{928},{909}, +{928},{915},{910}, +{930},{948},{929}, +{931},{949},{930}, +{932},{950},{931}, +{929},{947},{932}, +{951},{952},{933}, +{952},{953},{934}, +{953},{954},{935}, +{954},{955},{936}, +{955},{956},{937}, +{956},{957},{938}, +{957},{958},{939}, +{958},{959},{940}, +{959},{960},{941}, +{960},{961},{942}, +{961},{962},{943}, +{962},{963},{944}, +{963},{964},{945}, +{964},{951},{946}, +{966},{984},{965}, +{967},{985},{966}, +{968},{986},{967}, +{969},{987},{968}, +{970},{988},{969}, +{971},{989},{970}, +{972},{990},{971}, +{973},{991},{972}, +{974},{992},{973}, +{975},{993},{974}, +{976},{994},{975}, +{977},{995},{976}, +{978},{996},{977}, +{979},{997},{978}, +{980},{998},{979}, +{981},{999},{980}, +{982},{1000},{981}, +{965},{983},{982}}; + diff --git a/examples/3D_sample4/source/main.c b/examples/3D_sample4/source/main.c new file mode 100644 index 0000000..69becfe --- /dev/null +++ b/examples/3D_sample4/source/main.c @@ -0,0 +1,64 @@ +/*=========================================== + NoNameNo Simple 3D object rotating ;) + object have to be triangulated to be used + with this source. +============================================*/ +#include + +#include +#include +#include +#include + +#include "gfx/logo.h" +extern GXRModeObj *rmode; +extern Mtx _GRR_view; + + + +int main() { +int i=0; +float a=0; +u32 col; + + GRRLIB_Init(); + WPAD_Init(); + + GRRLIB_Settings.antialias = true; + + + GRRLIB_setBackgroundColour(0x00, 0x00, 0x00, 0xFF); + GRRLIB_camera3dSettings(0.0f,0.0f,13.0f, 0,1,0, 0,0,0); + + while(1) { + GRRLIB_2dMode(); + WPAD_ScanPads(); + if(WPAD_ButtonsDown(0) & WPAD_BUTTON_HOME) exit(0); + + + GRRLIB_3dMode(0.1,1000,45,0); + GRRLIB_objectView(0,0,-30, a,a*2,a*3); + GX_Begin(GX_TRIANGLES, GX_VTXFMT0, logoNbFace * 3); + for(i=0;i