Определение столкновений и моделирование законов физики Как найти столкновения между плоскостью, цилиндром, и сферой. Как иммитировать физику, взрывы.
Привет Mikl___, можно ли ожидать общий архив со всеми лекциями? Ты часто обновляешь баги, легко запутаться. Урок со стрельбой, 32 урок у меня падает если слишком быстро нажимать и потом сделать выстрел мимо цели. В отладчике пока не смотрел ..
Привет, calidus! Нет, не планировал, часть уроков (например #35) не идет в Windows 10, хотя в семерке работают без проблем... Смысл выкладывать в архиве, если, как выясняется, приложения не доведены "до ума"? Да и хотелось бы живого общения, как это не странно...
Привет Mikl, в чём были ошибки на тех примерах, что были исправлены? Стек? Ну не знаю, общение будет, когда уроки будут отдельно отсортированы и собраны в одном месте, больше шансов же?!
calidus, я-то, думал, что это какая-то новая pdf, а оказалось, что это отсылка к моему же вложению в одном из сообщений... А если серьезно, сейчас разбираю урок 43 (FreeType шрифты в OpenGL), можешь помочь создать структуры для 64-разрядного masm? FT_Face, FT_Library, FT_Bitmap, FT_BitmapGlyph, FT_Glyph и т.д., которые встречаются в тексте урока. Использовал FreeType-2.10.4 API Reference Можешь перевести это FT_дерьмо в структуры с нормальными, гетеросексуальными, православными real4, real8, qword и dword ? Код (Text): FT_Int = signed int FT_Long = signed long FT_String* FT_Bitmap_Size* FT_CharMap* FT_Pos = signed long FT_Generic = --------------------------------------- typedef struct FT_BBox_ { FT_Pos xMin, yMin; FT_Pos xMax, yMax; } FT_BBox; --------------------------------------------------- FT_UShort = unsigned short FT_Short = signed short ------------------------------------------------------- typedef struct FT_Bitmap_ { unsigned int rows; unsigned int width; int pitch; unsigned char* buffer; unsigned short num_grays; unsigned char pixel_mode; unsigned char palette_mode; void* palette; } FT_Bitmap; ---------------------------------------------------- typedef struct FT_BitmapGlyphRec_ { FT_GlyphRec root; FT_Int left; FT_Int top; FT_Bitmap bitmap; } FT_BitmapGlyphRec; ------------------------------------------------------- typedef struct FT_GlyphRec_ { FT_Library library; const FT_Glyph_Class* clazz; FT_Glyph_Format format; FT_Vector advance; } FT_GlyphRec; --------------------------------------------------- typedef struct FT_LibraryRec_ *FT_Library ----------------------------------------------------- typedef struct FT_Vector_ { FT_Pos x; FT_Pos y; } FT_Vector ------------------------------------------------ typedef struct FT_FaceRec_* FT_Face { FT_Long num_faces; FT_Long face_index; FT_Long face_flags; FT_Long style_flags; FT_Long num_glyphs; FT_String* family_name; FT_String* style_name; FT_Int num_fixed_sizes; FT_Bitmap_Size* available_sizes; FT_Int num_charmaps; FT_CharMap* charmaps; FT_Generic generic; /*# The following member variables (down to `underline_thickness`) */ /*# are only relevant to scalable outlines; cf. @FT_Bitmap_Size */ /*# for bitmap fonts. */ FT_BBox bbox; FT_UShort units_per_EM; FT_Short ascender; FT_Short descender; FT_Short height; FT_Short max_advance_width; FT_Short max_advance_height; FT_Short underline_position; FT_Short underline_thickness; FT_GlyphSlot glyph; FT_Size size; FT_CharMap charmap; /*@private begin */ FT_Driver driver; FT_Memory memory; FT_Stream stream; FT_ListRec sizes_list; FT_Generic autohint; /* face-specific auto-hinter data */ void* extensions; /* unused */ FT_Face_Internal internal; /*@private end */ } FT_FaceRec;
Mikl___, не заметил PDF, со структурами нет универсального решения, необходима ручная корректировка и проверка .. Код (ASM): FT_BBox STRUCT DEFALIGNMASM yMin DWORD ? yMax DWORD ? FT_BBox ENDS FT_Bitmap STRUCT DEFALIGNMASM rows DWORD ? awidth DWORD ? pitch DWORD ? buffer PTR ? num_grays WORD ? pixel_mode BYTE ? palette_mode BYTE ? palette PTR ? FT_Bitmap ENDS FT_BitmapGlyphRec STRUCT DEFALIGNMASM root FT_GlyphRec <> left SDWORD ? top SDWORD ? bitmap FT_Bitmap <> FT_BitmapGlyphRec ENDS FT_GlyphRec STRUCT DEFALIGNMASM library PTR ? clazz PTR ? format DWORD ? advance FT_Vector <> FT_GlyphRec ENDS FT_Vector STRUCT DEFALIGNMASM x FT_Pos ? y FT_Pos ? ENDS face_index SDWORD ? face_flags SDWORD ? style_flags SDWORD ? num_glyphs SDWORD ? family_name PTR ? style_name PTR ? num_fixed_sizes SDWORD ? available_sizes PTR ? num_charmaps SDWORD ? charmaps PTR ? generic FT_Generic <> bbox FT_BBox <> units_per_EM WORD ? ascender SWORD ? descender SWORD ? height SWORD ? max_advance_width SWORD ? max_advance_height SWORD ? underline_position SWORD ? underline_thickness SWORD ? glyph PTR ? asize PTR ? charmap PTR ? driver PTR ? memory PTR ? stream PTR ? sizes_list FT_ListRec <> autohint FT_Generic <> ;/* face-specific auto-hinter data */ extensions PTR ? aInternal PTR ? FT_Vector ENDS Ищи типы во вложении, всё добавлять не стоит, только то, что нужно ..
calidus, Это тип или размер данных структуры ? Что такое ptr" ? Абсолютно без понятия описана структура, что это вообще такое ?
Indy_, привет, это поинтер - [[distance]] PTR type Specifies a pointer to type. (Microsoft Macro Assembler 6.11 Reference Manual_Macro Assembler Reference)
Урок 43. FreeType шрифты в OpenGL Еще один независимый способ получить красивые буквы на экране, используя двухбайтные растры. Во вложении 43.zip asm-\exe-файлы, курсор, freetype.dll, freetype.lib и freetype.inc. Внимание! Писалось и проверялось под Window seven, под Windows 10 не проверял
Урок 43. FreeType шрифты в OpenGL Теперь работает и в Windows 10 Во вложении 43.zip asm-\exe-файлы, курсор, freetype.dll, freetype.lib и freetype.inc.
Урок 39. Введение в физический симулятор Симуляция поведения массы в условиях воздействия на нее сил гравитации, Симуляция поведения пружины, Симуляция поведения массы движущейся с постоянной скоростью. Во вложении 39.zip asm-\exe-файлы и курсор. Работает под Window seven и Windows 10