ເກມທີ່ດີເລີດທ່ານຫລິ້ນໂທຫຼ້າສຸດຂອງ Mario: Deathduty Battleyard ໃນ PC ຂອງທ່ານ. ທ່ານ ກຳ ລັງແນມເບິ່ງ ໜ້າ ຈໍຈໍພາບແບບ 4K ຂະ ໜາດ ກວ້າງທີ່ສວຍງາມ, ຊົມເຊີຍທິວທັດທີ່ສວຍງາມແລະລາຍລະອຽດທີ່ ໜ້າ ສົນໃຈ. ທ່ານເຄີຍສົງໄສບໍ່ວ່າຮູບພາບເຫລົ່ານີ້ຈະໄປຮອດໃສ? ສົງໄສວ່າ PC ຂອງທ່ານ ກຳ ລັງເຮັດຫຍັງເພື່ອເຮັດສິ່ງເຫລົ່ານີ້?

ຍິນດີຕ້ອນຮັບສູ່ 101 ຂອງພວກເຮົາກ່ຽວກັບການສ້າງເກມ 3D: ຄູ່ມືເລີ່ມຕົ້ນຂອງວິທີການສ້າງກອບພື້ນຖານຂອງຄວາມດີຂອງເກມ.

ເກມ ໃໝ່ ຫຼາຍຮ້ອຍໂຕຖືກປ່ອຍທົ່ວໂລກໃນແຕ່ລະປີ - ບາງເຄື່ອງອອກແບບ ສຳ ລັບໂທລະສັບມືຖື, ບາງເຄື່ອງ ສຳ ລັບເຄື່ອງຫຼີ້ນ, ບາງເຄື່ອງ ສຳ ລັບເຄື່ອງຄອມພີວເຕີ້. ຮູບແບບແລະປະເພດທີ່ຖືກປົກຄຸມແມ່ນກວ້າງຂວາງ, ແຕ່ວ່າມີປະເພດ ໜຶ່ງ ທີ່ຄົ້ນພົບໂດຍນັກພັດທະນາເກມອາດຈະມີຫຼາຍກ່ວາປະເພດອື່ນ: 3D. ການສົນທະນາຄັ້ງ ທຳ ອິດຂອງການສົນທະນາຄັ້ງ ທຳ ອິດແລະການສະແກນໄວຂອງການສົນທະນາ Guinness World Records ຖານຂໍ້ມູນສ້າງ ຄຳ ຕອບຕ່າງໆ. ພວກເຮົາສາມາດເລືອກ Knight Lore ໂດຍ Ultimate, ເຊິ່ງຖືກປ່ອຍອອກມາໃນປີ 1984, ເປັນການເລີ່ມຕົ້ນທີ່ມີຄ່າຄວນ, ແຕ່ຮູບພາບທີ່ສ້າງຂື້ນໃນເກມນີ້ແມ່ນການເວົ້າ 2D ຢ່າງເຂັ້ມງວດ - ບໍ່ມີຂໍ້ມູນໃດໆທີ່ ນຳ ໃຊ້ແມ່ນ 3D ແທ້ໆ.

ສະນັ້ນຖ້າພວກເຮົາຈະເຂົ້າໃຈວິທີການເກມ 3D ຂອງມື້ນີ້ສ້າງພາບພົດຂອງມັນ, ພວກເຮົາຕ້ອງການຕົວຢ່າງເລີ່ມຕົ້ນທີ່ແຕກຕ່າງກັນ: ການແລ່ນທີ່ຊະນະ ເຮັດຫຍັງໃນ 3 ຂະ ໜາດ ຕັ້ງແຕ່ເບື້ອງຕົ້ນເປັນສິ່ງ ທຳ ອິດຂອງມັນ, ໂດຍ ນຳ ໃຊ້ເຕັກນິກທີ່ບາງທີບໍ່ແມ່ນ ໜຶ່ງ ລ້ານໄມຫ່າງຈາກສິ່ງທີ່ ກຳ ລັງເກີດຂື້ນໃນຕອນນີ້. ແນ່ນອນວ່າເກມໃດທີ່ມີອາຍຸ 30 ປີຂື້ນໄປຈະບໍ່ຄືກັບ Codemaster's F1 2018, ແຕ່ວ່າໂຄງການພື້ນຖານຂອງການເຮັດມັນທັງ ໝົດ ບໍ່ແຕກຕ່າງກັນຫຼາຍ.







ໃນບົດຂຽນນີ້, ພວກເຮົາຈະກວດເບິ່ງຂະບວນການທີ່ເກມ 3D ຕິດຕາມເພື່ອສ້າງພາບພື້ນຖານ ສຳ ລັບຈໍສະແດງຫລືໂທລະພາບ. ພວກເຮົາຈະເລີ່ມຕົ້ນດ້ວຍຂໍ້ສະຫລຸບແລະຖາມຕົວເອງວ່າ: "ຂ້ອຍ ກຳ ລັງເບິ່ງຫຍັງຢູ່?"

ຈາກບ່ອນນັ້ນ, ພວກເຮົາຈະວິເຄາະທຸກໆບາດກ້າວທີ່ປະຕິບັດເພື່ອໃຫ້ໄດ້ຮູບທີ່ພວກເຮົາເຫັນ. ຕາມວິທີທາງການ, ພວກເຮົາຈະກວມເອົາຊອບແວແລະ ຄຳ ແນະ ນຳ ຕ່າງໆເຊັ່ນ: ແນວຕັ້ງແລະພິກເຊວ, ໂຄງສ້າງແລະການຫັນປ່ຽນ, ປ້ອງກັນແລະຮົ່ມ. ພວກເຮົາຍັງຈະພິຈາລະນາເບິ່ງບ່ອນທີ່ບັດກາຟິກ ເໝາະ ສົມກັບສິ່ງເຫຼົ່ານີ້ທັງ ໝົດ ແລະເປັນຫຍັງຕ້ອງການ. ດ້ວຍ 101 ນີ້ທ່ານຈະເບິ່ງເກມແລະຄອມພິວເຕີ້ຂອງທ່ານໃນຄວາມສະຫວ່າງ ໃໝ່ ແລະຊື່ນຊົມກັບຮູບພາບເຫລົ່ານີ້ດ້ວຍຄວາມຍ້ອງຍໍນ້ອຍກວ່າ.




ຂະ ໜາດ ຂອງກອບ: pixels ແລະສີ

ໃຫ້ທ່ານເລີ່ມເກມ 3D, ສະນັ້ນພວກເຮົາມີບາງສິ່ງບາງຢ່າງທີ່ຕ້ອງເລີ່ມຕົ້ນ, ແລະພວກເຮົາອາດຈະໃຊ້ Crytek ລຸ້ນ 2007 ໂດຍບໍ່ມີເຫດຜົນອື່ນນອກ ເໜືອ ຈາກເກມທີ່ມີຄ່າທີ່ສຸດໃນທຸກເວລາ. ຮ້ອງໄຫ້. ໃນຮູບຂ້າງລຸ່ມນີ້ພວກເຮົາ ກຳ ລັງຊອກຫາຮູບພາບກ້ອງຖ່າຍຮູບຂອງຈໍພາບທີ່ສະແດງເກມ.




ຮູບນີ້ປົກກະຕິແລ້ວ ກອບແຕ່ພວກເຮົາ ກຳ ລັງຊອກຫາຢູ່ໃນອັນໃດແທ້? ດີ, ການໃຊ້ກ້ອງເລນມະຫາພາກແທນທີ່ຈະເປັນພາບ ໜ້າ ຈໍໃນເກມ, CSI: TECH NEWS ແລະຮຽກຮ້ອງໃຫ້ບາງຄົນປັບປຸງມັນ!




ແຕ່ຫນ້າເສຍດາຍ, ການສ່ອງແສງ ໜ້າ ຈໍແລະຄວາມເປັນມາຂອງພາບພື້ນຫລັງໄດ້ຮັບຄວາມລະອຽດສູງກວ່າຮູບພາບ, ແຕ່ຖ້າພວກເຮົາປັບປຸງມັນໃຫ້ດີຂື້ນຕື່ມອີກ ...




ພວກເຮົາສາມາດເຫັນໄດ້ວ່າກອບໃນຈໍມໍເຕີ້ປະກອບດ້ວຍຕາຂ່າຍໄຟຟ້າຂອງອົງປະກອບສີແຕ່ລະຄົນ, ແລະຖ້າພວກເຮົາເບິ່ງຢ່າງໃກ້ຊິດແທ້ໆ, ທ່ອນໄມ້ເອງກໍ່ປະກອບມີ 3 ທ່ອນນ້ອຍ. ຫນຶ່ງໃນທຸກໆສາມ ພິກະເຊນ (ຕົວຫຍໍ້ ສຳ ລັບອົງປະກອບຮູບພາບ) ແລະຜູ້ຕິດຕາມສ່ວນໃຫຍ່ແຕ້ມສີໃຫ້ພວກເຂົາໂດຍໃຊ້ສາມສີ: ສີແດງ, ສີຂຽວ, ແລະສີຟ້າ (aka RGB). ສຳ ລັບກອບ ໃໝ່ ແຕ່ລະອັນທີ່ສະແດງໂດຍຈໍພາບ, ບັນຊີລາຍຊື່ນັບພັນໆ, ຖ້າບໍ່ແມ່ນລ້ານ, ຄຸນຄ່າຂອງ RGB ຕ້ອງໄດ້ຮັບການກະກຽມແລະເກັບມ້ຽນໄວ້ໃນບ່ອນເກັບມ້ຽນຄວາມ ຈຳ ທີ່ເຂົ້າເບິ່ງໄດ້. ປະເພດເຫຼົ່ານີ້ຂອງທ່ອນໄມ້ຫນ່ວຍຄວາມຈໍາຖືກເອີ້ນ tampons, ຕາມ ທຳ ມະຊາດ, ຕໍ່ ໜ້າ ຈໍ ກອບປ້ອງກັນ.

ນີ້ແມ່ນຕົວຈິງແລ້ວແມ່ນຈຸດສຸດທ້າຍທີ່ພວກເຮົາເລີ່ມຕົ້ນ, ດັ່ງນັ້ນດຽວນີ້ພວກເຮົາຕ້ອງໄປໃນຕອນເລີ່ມຕົ້ນແລະຜ່ານຂັ້ນຕອນເພື່ອໄປຫາບ່ອນນັ້ນ. ຊື່ plaster ມັນມັກຈະຖືກ ນຳ ໃຊ້ເພື່ອພັນລະນາເຖິງມັນ, ແຕ່ຄວາມຈິງແມ່ນວ່າມັນແມ່ນບັນຊີລາຍຊື່ທີ່ຍາວນານຂອງການເຊື່ອມໂຍງແຕ່ໄລຍະທີ່ແຕກຕ່າງກັນເຊິ່ງຂ້ອນຂ້າງແຕກຕ່າງຈາກກັນແລະກັນໃນແງ່ຂອງສິ່ງທີ່ມັນເປັນ. ຄິດວ່າມັນຄ້າຍຄືການເປັນພໍ່ຄົວແລະເຮັດອາຫານທີ່ມີຄ່າກັບຮ້ານອາຫານດາວ Michelin: ຜົນໄດ້ຮັບແມ່ນຈານອາຫານທີ່ແຊບ, ແຕ່ມີຫຼາຍຢ່າງທີ່ຕ້ອງເຮັດກ່ອນທີ່ຈະເຂົ້າໄປໃນເຮືອນ. ບາງສ່ວນປະກອບພື້ນຖານ.

ສິ່ງກໍ່ສ້າງທີ່ ຈຳ ເປັນ: ແບບແລະໂຄງສ້າງ

ສິ່ງກໍ່ສ້າງພື້ນຖານຂອງເກມ 3D ໃດກໍ່ຄືຊັບສິນທີ່ເບິ່ງເຫັນເຊິ່ງຈະເຮັດໃຫ້ໂລກສ້າງຂື້ນ. ຮູບເງົາ, ລາຍການໂທລະພາບ, ການສະແດງລະຄອນຕຸກກະຕາ, ແລະສິ່ງທີ່ຄ້າຍຄືກັນທັງ ໝົດ ຕ້ອງມີນັກສະແດງ, ຊຸດ, ໂປສເຕີ້, ພື້ນຫລັງ, ໄຟສາຍ - ລາຍການແມ່ນໃຫຍ່ຫຼາຍ ເກມ 3D ແມ່ນບໍ່ແຕກຕ່າງກັນແລະສິ່ງທີ່ເຫັນໃນກອບທີ່ຖືກສ້າງຂື້ນຈະຖືກອອກແບບໂດຍນັກສິລະປິນແລະນັກສະແດງ. ເພື່ອຊ່ວຍໃຫ້ເຫັນພາບນີ້, ໃຫ້ພວກເຮົາໄປໂຮງຮຽນເກົ່າແລະເບິ່ງຮູບແບບຈາກຕົວຕົນຂອງ Quake II Software:

ປ່ອຍອອກມາເມື່ອ 20 ປີກ່ອນ, Quake II ແມ່ນໂຮງງານຜະລິດພະລັງງານທ່ອງທ່ຽວທາງດ້ານເຕັກໂນໂລຢີ, ຄືກັບເກມ 3D ໃດ ໜຶ່ງ ຂອງຊາວປີ, ເຖິງແມ່ນວ່າມັນຍຸດຕິ ທຳ ທີ່ຈະເວົ້າວ່າແບບ ຈຳ ລອງເບິ່ງຄືວ່າມີຄວາມຫຍຸ້ງຍາກ ໜ້ອຍ ໜຶ່ງ. ເຖິງຢ່າງໃດກໍ່ຕາມ, ມັນເຮັດໃຫ້ມັນງ່າຍຕໍ່ການເຫັນວ່າເປັນຫຍັງ ໜ່ວຍ ງານນີ້ຖືກສ້າງຂື້ນ.

ໃນຮູບ ທຳ ອິດ, ພວກເຮົາສາມາດເຫັນໄດ້ວ່າເພື່ອນທີ່ເປັນມິດມີຮູບສາມຫຼ່ຽມທີ່ເຊື່ອມຕໍ່ກັນ - ແຕ່ລະອັນເອີ້ນວ່າແນວຕັ້ງ. ແຈ ຫຼືຈຸດສູງສຸດ ສຳ ລັບ ໜຶ່ງ ໃນສິ່ງເຫຼົ່ານີ້. ແຕ່ລະ vertex ເຮັດ ໜ້າ ທີ່ເປັນຈຸດໃນອະວະກາດ, ສະນັ້ນມັນມີຢ່າງ ໜ້ອຍ 3 ຕົວເພື່ອອະທິບາຍມັນ, i.e. ປະສານງານ x, y, z. ເຖິງຢ່າງໃດກໍ່ຕາມ, ເກມ 3D ຕ້ອງມີຄວາມ ຈຳ ເປັນຫຼາຍກວ່ານັ້ນ, ແລະແຕ່ລະ vertex ຈະມີຄຸນຄ່າເພີ່ມເຕີມເຊັ່ນ: ສີຂອງ vertex, ທິດທາງທີ່ມັນ ກຳ ລັງປະເຊີນຢູ່ (ແມ່ນແລ້ວ, ຈຸດໆບໍ່ສາມາດເບິ່ງຕົວຈິງໄດ້ທຸກບ່ອນ ... ພຽງແຕ່ມ້ວນກັບມັນ!), ມັນສະຫວ່າງສະໄຫວ, ແປແຈ້ງປານໃດ. ບໍ່ວ່າຈະເປັນຫຼືບໍ່, ແລະອື່ນໆ.

ຄຸນຄ່າທີ່ແນ່ນອນທີ່ຕັ້ງຢູ່ສະເຫມີ, ແຜນທີ່ໂຄງສ້າງ. ນີ້ແມ່ນຮູບພາບຂອງ 'ເຄື່ອງນຸ່ງ' ທີ່ຕົວແບບຄວນໃສ່, ແຕ່ເນື່ອງຈາກວ່າມັນເປັນຮູບພາບ ທຳ ມະດາ, ແຜນທີ່ຄວນປະກອບມີມຸມມອງ ສຳ ລັບທຸກໆທິດທາງທີ່ເປັນໄປໄດ້ເຊິ່ງພວກເຮົາສາມາດເບິ່ງຮູບແບບ. ໃນຕົວຢ່າງ Quake II ຂອງພວກເຮົາ, ພວກເຮົາສາມາດເຫັນໄດ້ວ່ານີ້ແມ່ນວິທີການທີ່ງ່າຍດາຍ: ດ້ານ ໜ້າ, ດ້ານຫຼັງແລະດ້ານຂ້າງ (ແຂນ). ເກມ 3D ທີ່ທັນສະ ໄໝ ຕົວຈິງແລ້ວຈະມີແຜນທີ່ທີ່ມີໂຄງສ້າງຫຼາຍຮູບແບບ ສຳ ລັບແບບ, ແຕ່ລະລາຍລະອຽດເຕັມ; ບາງແຜນທີ່ບໍ່ຄືກັບວັດສະດຸຫລືຄຸນລັກສະນະຕ່າງໆ, ແຕ່ແທນທີ່ຈະໃຫ້ຂໍ້ມູນກ່ຽວກັບວິທີການທີ່ແສງສະຫວ່າງຈະໂຄກລົງມາຈາກພື້ນຜິວ. ແຕ່ລະ vertex ຈະປະກອບມີຊຸດຂອງຈຸດປະສານງານໃນແຜນທີ່ໂຄງສ້າງທີ່ກ່ຽວຂ້ອງຂອງຕົວແບບເພື່ອໃຫ້ມັນສາມາດ 'ເຂົ້າຮ່ວມ' ທີ່ vertex - ນີ້ ໝາຍ ຄວາມວ່າຖ້າ vertex ຖືກຍ້າຍ, ໂຄງສ້າງຈະຍ້າຍກັບມັນ.

ສະນັ້ນໃນໂລກທີ່ສະແດງແບບ 3D, ທຸກຢ່າງທີ່ເຫັນຈະເລີ່ມຕົ້ນເປັນຈຸດ ສຳ ຄັນແລະເກັບ ກຳ ແຜນທີ່ໂຄງສ້າງ. ພວກມັນຖືກປະສານເຂົ້າໄປໃນ buffers ຄວາມຊົງ ຈຳ ທີ່ເຊື່ອມໂຍງເຂົ້າກັນ - a ຕຳ ແຈ ບັນຈຸຂໍ້ມູນກ່ຽວກັບມູມ; ຫນຶ່ງ buffer ໄດເລກະທໍລີ ມັນສະແດງໃຫ້ພວກເຮົາຮູ້ກ່ຽວກັບມູມທີ່ເຊື່ອມຕໍ່ກັບຮູບແບບຕ່າງໆ; ຫນຶ່ງ ການເຊື່ອມໂລຫະປ້ອງກັນ ມີເນື້ອເຍື່ອຄວາມ ຈຳ ແລະສ່ວນທີ່ສະຫງວນໄວ້ເພື່ອ ນຳ ໃຊ້ຕໍ່ມາໃນຂັ້ນຕອນການສະແດງ; ຫນຶ່ງ buffer ຄຳ ສັ່ງ ລາຍຊື່ ຄຳ ແນະ ນຳ ກ່ຽວກັບສິ່ງທີ່ຕ້ອງເຮັດກັບພວກມັນທັງ ໝົດ.

ນີ້ສ້າງກອບທີ່ ຈຳ ເປັນເຊິ່ງຈະຖືກ ນຳ ໃຊ້ເພື່ອສ້າງຕາຂ່າຍໄຟຟ້າສຸດທ້າຍຂອງ pixels ສີ. ມັນອາດຈະມີຂໍ້ມູນ ຈຳ ນວນຫຼວງຫຼາຍ ສຳ ລັບບາງເກມເພາະວ່າມັນຈະຊ້າກວ່າໃນການກໍ່ສ້າງ ໃໝ່ ສຳ ລັບ buffers ສຳ ລັບແຕ່ລະກອບ ໃໝ່. ເກມເກັບຂໍ້ມູນທັງ ໝົດ ທີ່ ຈຳ ເປັນເພື່ອສ້າງໂລກທີ່ສາມາດເບິ່ງເຫັນໄດ້ທັງ ໝົດ, ເກັບມ້ຽນໄວ້ໃນ buffers ຫຼືເພື່ອເບິ່ງມຸມມອງທີ່ຫລາກຫລາຍແລະຈາກນັ້ນອັບເດດຕາມຄວາມຕ້ອງການ. ຍົກຕົວຢ່າງ, ເກມແຂ່ງລົດເຊັ່ນ: F1 2018 ຈະມີທຸກຢ່າງໃນການເກັບລວບລວມກັນຂະ ໜາດ ໃຫຍ່, ໃນຂະນະທີ່ເກມທີ່ເປີດໂລກເຊັ່ນ Bethesda's Skyrim ຈະຍ້າຍຂໍ້ມູນເຂົ້າແລະອອກຈາກບ່ອນສູງຍ້ອນວ່າກ້ອງຖ່າຍຮູບເຄື່ອນຍ້າຍທົ່ວໂລກ.

ການແກ້ໄຂສາກ: ຂັ້ນສູງສຸດ

ດ້ວຍຂໍ້ມູນທາງສາຍຕາທັງ ໝົດ ຢູ່ໃນມື, ເກມຫຼັງຈາກນັ້ນກໍ່ຈະເລີ່ມປະມວນຜົນ ສຳ ລັບການສະແດງພາບ. ເພື່ອເລີ່ມຕົ້ນ, ສາກເລີ່ມຕົ້ນໃນສະຖານທີ່ຕັ້ງ, ທຸກຮູບແບບທີ່ຕັ້ງພື້ນຖານ, ໄຟ, ແລະອື່ນໆ. ນີ້ຈະເປັນຮູບສີ່ຫຼ່ຽມມົນທົນສູນ - ມັນແມ່ນຈຸດເລີ່ມຕົ້ນຂອງກາຟແລະບໍ່ໄດ້ຖືກສະແດງໃຫ້ເຫັນເປັນປະ ຈຳ, ແຕ່ວ່າມັນຖືກສະແດງໃຫ້ເຫັນເພື່ອເຮັດໃຫ້ສິ່ງຕ່າງໆ ດຳ ເນີນໄປ. ເພື່ອຊ່ວຍໃຫ້ສະແດງສິ່ງທີ່ເກີດຂື້ນໃນຂັ້ນຕອນເບື້ອງຕົ້ນຂອງຂັ້ນຕອນການກໍ່ສ້າງ, ເວບໄຊທ໌ທີ່ໃຊ້ເວລາທີ່ແທ້ຈິງ. ໃຫ້ເຮົາເປີດມັນດ້ວຍ 'ເກມ' ທີ່ມີພື້ນຖານຫຼາຍ: cuboid ເທິງພື້ນດິນ.

ຮູບຊົງສະເພາະນີ້ມີ 8 ແນວຕັ້ງ, ແຕ່ລະແຖວໄດ້ອະທິບາຍຜ່ານບັນຊີຂອງຕົວເລກ, ແລະພວກມັນປະກອບເປັນຮູບແບບທີ່ມີຮູບສີ່ຫລ່ຽມ 12 ເສັ້ນຢູ່ລະຫວ່າງ. ແມ່ນແຕ່ສາມຫລ່ຽມຫລືວັດຖຸທັງ ໝົດ ເບື້ອງຕົ້ນ. ໃນຂະນະທີ່ບັນດາພື້ນຖານເຫລົ່ານີ້ຖືກຍ້າຍ, ໝູນ ວຽນ, ແລະປັບຂະ ໜາດ, ຕົວເລກຈະຕ້ອງຜ່ານຊຸດຂອງການ ດຳ ເນີນງານເລກແລະປັບປຸງຕາມຄວາມ ເໝາະ ສົມ.

ໃຫ້ສັງເກດວ່າຕົວເລກຈຸດຂອງຕົວແບບບໍ່ປ່ຽນແປງ, ມີພຽງແຕ່ຄຸນຄ່າທີ່ຊີ້ບອກວ່າໂລກຢູ່ໃສ. ການລວມເອົາຄະນິດສາດທີ່ກ່ຽວຂ້ອງແມ່ນເກີນຂອບເຂດຂອງ 101 ນີ້, ແຕ່ພາກສ່ວນທີ່ ສຳ ຄັນຂອງຂະບວນການນີ້ແມ່ນໄດ້ຮັບທຸກສິ່ງທຸກຢ່າງໄປບ່ອນທີ່ຄວນຈະຢູ່ກ່ອນ. ຫຼັງຈາກນັ້ນມັນເຖິງເວລາແລ້ວ ສຳ ລັບການໃສ່ສີ.

ໃຫ້ໃຊ້ຮູບແບບທີ່ແຕກຕ່າງກັນເຊິ່ງມີຫຼາຍກ່ວາ 10 ເທົ່າຂອງ ຈຳ ນວນມູມທີ່ລູກບາດກ່ອນ ໜ້າ ນີ້. ປະເພດພື້ນຖານທີ່ສຸດຂອງການສະແດງສີໃຊ້ເວລາສີຂອງແຕ່ລະ vertex ແລະຫຼັງຈາກນັ້ນຄິດໄລ່ວິທີການປ່ຽນແປງຂອງພື້ນຜິວລະຫວ່າງພວກມັນ; ມັນແມ່ນເປັນທີ່ຮູ້ຈັກເປັນ interpolasyon.

ມີມຸມຫຼາຍໃນແບບບໍ່ພຽງແຕ່ມີການປະກົດຕົວຈິງເທົ່ານັ້ນ, ແຕ່ຍັງໃຫ້ຜົນໄດ້ຮັບທີ່ດີກວ່າເກົ່າດ້ວຍການຕີຄວາມ ໝາຍ ສີ.

ໃນຂັ້ນຕອນຂອງການສະແດງຜົນດັ່ງກ່າວ, ຜົນກະທົບຂອງໄຟໃນສະຖານທີ່ສາມາດກວດສອບໄດ້ຢ່າງລະອຽດ; ຕົວຢ່າງ, ມັນສາມາດແນະ ນຳ ວິທີວັດສະດຸຂອງແບບ ຈຳ ລອງສະທ້ອນແສງສະຫວ່າງ. ການຄິດໄລ່ດັ່ງກ່າວຕ້ອງ ຄຳ ນຶງເຖິງ ຕຳ ແໜ່ງ ແລະທິດທາງຂອງກ້ອງຖ່າຍຮູບເບິ່ງໂລກ, ພ້ອມທັງ ຕຳ ແໜ່ງ ແລະທິດທາງຂອງແສງ.

ມີຫລາຍໆເຕັກນິກການຄິດໄລ່ທີ່ແຕກຕ່າງກັນທີ່ສາມາດ ນຳ ໃຊ້ໄດ້ທີ່ນີ້; ບາງຄົນແມ່ນງ່າຍດາຍ, ບາງບ່ອນກໍ່ສັບສົນຫຼາຍ. ໃນຮູບພາບຂ້າງເທິງນີ້ພວກເຮົາສາມາດເຫັນໄດ້ວ່າຂະບວນການທາງຂວາເຮັດໃຫ້ມີຜົນໄດ້ຮັບທີ່ດີກວ່າແລະເປັນຈິງ, ແຕ່ບໍ່ ໜ້າ ແປກໃຈ, ມັນຕ້ອງໃຊ້ເວລາຫຼາຍກວ່າເກົ່າໃນການເຮັດວຽກ.

ໃນຈຸດນີ້, ມັນເປັນມູນຄ່າທີ່ສັງເກດວ່າພວກເຮົາກໍາລັງຊອກຫາວັດຖຸທີ່ມີຈຸດທີ່ບໍ່ຫຼາຍປານໃດເມື່ອທຽບກັບເກມ 3D ຫຼ້າສຸດ. ກັບຄືນໄປບ່ອນເລັກນ້ອຍໃນບົດຄວາມນີ້ແລະເບິ່ງຢ່າງລະມັດລະວັງກ່ຽວກັບຮູບພາບຂອງ Crysis: ມີຫຼາຍກ່ວາລ້ານຮູບສາມຫລ່ຽມໃນສະຖານທີ່ນັ້ນຢ່າງດຽວ. ພວກເຮົາສາມາດເຂົ້າໃຈໄດ້ໂດຍການເບິ່ງເຫັນສາມຫລ່ຽມທີ່ຖືກຍູ້ໃນເກມທີ່ທັນສະ ໄໝ. ການປຽບທຽບ Valley ຂອງ Unigine (ດາວໂຫລດ).

ແຕ່ລະວັດຖຸໃນຮູບນີ້ແມ່ນຮູບແບບໂດຍສາຍຕັ້ງທີ່ເຊື່ອມຕໍ່ກັນ, ດັ່ງນັ້ນພວກມັນຈຶ່ງເຮັດພື້ນຖານປະກອບດ້ວຍສາມຫຼ່ຽມ. ການປຽບທຽບອະນຸຍາດໃຫ້ພວກເຮົາ ດຳ ເນີນການແບບລວດລາຍທີ່ຊ່ວຍໃຫ້ໂປແກຼມສາມາດປະຕິບັດຂອບຂອງແຕ່ລະສາມຫຼ່ຽມດ້ວຍເສັ້ນສີຂາວສົດໃສ.

ຕົ້ນໄມ້, ຕົ້ນໄມ້, ຫີນ, ດິນ, ພູເຂົາ - ມັນລ້ວນແຕ່ເຮັດດ້ວຍຮູບສາມຫລ່ຽມ, ແຕ່ລະຕົ້ນຄິດໄລ່ສະຖານທີ່, ທິດທາງແລະສີຂອງມັນ, ໂດຍ ຄຳ ນຶງເຖິງ ຕຳ ແໜ່ງ ຂອງແຫຼ່ງແສງແລະ ຕຳ ແໜ່ງ ແລະທິດທາງຂອງກ້ອງ. ການປ່ຽນແປງໃດໆທີ່ເຮັດໃຫ້ມູມ ຈຳ ເປັນຕ້ອງໄດ້ປ້ອນເຂົ້າໄປໃນເກມເພື່ອໃຫ້ຮູ້ວ່າທຸກຢ່າງຢູ່ບ່ອນໃດເພື່ອສ້າງກອບຕໍ່ໄປ; ນີ້ແມ່ນເຮັດໄດ້ໂດຍການປັບປຸງຂໍ້ມູນ vertex buffer.

ສິ່ງທີ່ຫນ້າປະຫລາດໃຈ, ນີ້ບໍ່ແມ່ນສ່ວນຍາກຂອງຂະບວນການສ້າງ, ແລະດ້ວຍຮາດແວທີ່ຖືກຕ້ອງ, ທຸກຢ່າງຈະສິ້ນສຸດລົງໃນເວລາ ໜຶ່ງ ພັນວິນາທີ! ເຖິງຂັ້ນຕໍ່ໄປ.

ສູນເສຍມິຕິ: ຄວາມໄວ

ເມື່ອທຸກມຸມທີ່ໄດ້ຜ່ານການເຮັດວຽກແລະສະຖານະພາບ 3D ຂອງພວກເຮົາໄດ້ ສຳ ເລັດບ່ອນທີ່ທຸກສິ່ງຄວນຈະເປັນໄປໄດ້, ການສະແດງຜົນໄດ້ກ້າວສູ່ຂັ້ນຕອນ ສຳ ຄັນ. ມາຮອດປະຈຸບັນ, ເກມກໍ່ມີຮູບແບບ 3 ມິຕິ, ແຕ່ບໍ່ແມ່ນກອບສຸດທ້າຍ - ນັ້ນ ໝາຍ ຄວາມວ່າຕ້ອງມີການປ່ຽນແປງຫຼາຍຢ່າງເພື່ອຫັນປ່ຽນໂລກທີ່ສະແດງອອກມາຈາກພື້ນທີ່ 3D ທີ່ບັນຈຸຫລາຍພັນຈຸດທີ່ເຊື່ອມຕໍ່ເຂົ້າເປັນກະດານຜ້າ 2D ຂອງ pixels ສີແຕ່ລະຄົນ. . ສຳ ລັບເກມສ່ວນໃຫຍ່, ຂະບວນການນີ້ກ່ຽວຂ້ອງຢ່າງ ໜ້ອຍ ສອງຂັ້ນຕອນ: ການຄາດຄະເນພື້ນທີ່ຫນ້າຈໍ ve ພິເສດ.

ການໃຊ້ເຄື່ອງມືການສະແດງເວັບອີກຄັ້ງ, ພວກເຮົາສາມາດບັງຄັບໃຫ້ມັນສະແດງໃຫ້ເຫັນວ່າປະລິມານຂອງໂລກໄດ້ຖືກປ່ຽນເປັນຮູບແບນໃນເບື້ອງຕົ້ນ. ສະຖານທີ່ຂອງກ້ອງຖ່າຍຮູບທີ່ເບິ່ງພາບຖ່າຍ 3D ແມ່ນຢູ່ເບື້ອງຊ້າຍ; ສາຍທີ່ຂະຫຍາຍອອກໄປເກີນຈຸດນີ້, ອຸກອັ່ງ (ຄືກັບຮູບແບບຂອງຮູບປັ້ນ) ແລະທຸກຢ່າງທີ່ອຸກອັ່ງອາດຈະປະກົດຂຶ້ນໃນກອບສຸດທ້າຍ. ຖະຫນົນຫົນທາງພຽງເລັກນ້ອຍກັບ Frustum ເບິ່ງ, - ອັນນີ້ແມ່ນຕົວຈິງແລ້ວສິ່ງທີ່ຈໍພາບຈະສະແດງອອກ, ແລະຄະນິດສາດທັງ ໝົດ ຖືກ ນຳ ໃຊ້ເຂົ້າໃນໂຄງການທຸກຢ່າງທີ່ອຸກອັ່ງໃນພາກສະ ໜາມ ຈາກມຸມມອງຂອງກ້ອງຖ່າຍຮູບ.

ເຖິງແມ່ນວ່າກາຟິກໃນຊ່ອງເບິ່ງຈະປາກົດເປັນ 2D, ຂໍ້ມູນພາຍໃນຍັງເປັນຮູບແບບ 3D ແລະຂໍ້ມູນນີ້ຈະຖືກ ນຳ ໃຊ້ເພື່ອ ກຳ ນົດວ່າຮູບແບບໃດທີ່ຈະເບິ່ງເຫັນຫຼືຊ້ ຳ ຊ້ອນກັນ. ມັນອາດຈະເປັນເລື່ອງແປກທີ່ຍາກທີ່ຈະເຮັດສິ່ງນີ້ເພາະວ່າປະຖົມສາມາດຖ່າຍຮູບເງົາທີ່ເບິ່ງເຫັນໄດ້ໃນເກມເຖິງແມ່ນວ່າມັນບໍ່ສາມາດເປັນແບບເດີມ. ມັນຖືກເອີ້ນວ່າການລົບລ້າງຕົ້ນເຫດ ຄັກ ແລະມັນສາມາດເຮັດໃຫ້ມີຄວາມແຕກຕ່າງທີ່ ສຳ ຄັນໃນການສະແດງກອບທັງ ໝົດ ຂອງໄວ. ຫຼັງຈາກທີ່ທັງ ໝົດ ນີ້ ສຳ ເລັດແລ້ວ - ຈັດລຽງ ລຳ ດັບຕົ້ນໄມ້ທີ່ເບິ່ງເຫັນແລະເບິ່ງເຫັນບໍ່ໄດ້, ຖັງສາມຫລ່ຽມທີ່ຢູ່ຂ້າງນອກຂອງຄວາມອຸກອັ່ງຂອງຂ້ອຍ, etc. - ຂັ້ນສຸດທ້າຍຂອງ 3D ປິດແລະກອບກາຍເປັນ 2D ຢ່າງເຕັມທີ່ໂດຍຜ່ານການ rasterization.

ຮູບພາບຂ້າງເທິງສະແດງໃຫ້ເຫັນຕົວຢ່າງທີ່ງ່າຍດາຍທີ່ສຸດຂອງກອບບັນຈຸຮູບແບບເບື້ອງຕົ້ນ. ຕາຂ່າຍໄຟຟ້າຂອງ pixels ຂອງກອບໄດ້ຖືກປຽບທຽບກັບຂອບຂອງຮູບຮ່າງຂ້າງລຸ່ມ, ແລະບ່ອນທີ່ພວກມັນຊ້ ຳ ຊ້ອນ, ພິກະເຊນຈະຖືກ ໝາຍ ສຳ ລັບການສະແດງ. ຜົນໄດ້ຮັບໃນຕົວຢ່າງທີ່ສະແດງບໍ່ຄ້າຍຄືກັບສາມຫລ່ຽມຕົ້ນສະບັບ, ແຕ່ພວກເຮົາບໍ່ໄດ້ໃຊ້ pixels ພຽງພໍ. ຜົນໄດ້ຮັບໃນປະເດັນຕໍ່ໄປນີ້: ຊ້ອນກັນ, ເຖິງແມ່ນວ່າມັນມີຫຼາຍວິທີທີ່ຈະຈັດການກັບມັນ. ນັ້ນແມ່ນເຫດຜົນທີ່ວ່າ ການແກ້ໄຂ ມັນມີຜົນກະທົບອັນໃຫຍ່ຫຼວງຕໍ່ວິທີການຫລິ້ນເກມ (ຈຳ ນວນ pixels ທັງ ໝົດ ທີ່ໃຊ້ໃນກອບ) ມີລັກສະນະ: pixels ບໍ່ພຽງແຕ່ເປັນຕົວແທນຂອງຮູບຊົງຂອງຕົ້ນສະບັບເທົ່ານັ້ນ, ແຕ່ຍັງຊ່ວຍຫຼຸດຜ່ອນຜົນກະທົບຂອງນາມແຝງທີ່ບໍ່ຕ້ອງການອີກດ້ວຍ.

ເມື່ອພາກສ່ວນຂອງ ລຳ ດັບການເຮັດວຽກນີ້ ສຳ ເລັດສົມບູນ, ມັນຂື້ນກັບໂຕໃຫຍ່: ສີສຸດທ້າຍຂອງທຸກ pixels ໃນກອບ.

ນຳ ແສງ: ເວທີພິກະເຊນ

ຕອນນີ້ພວກເຮົາມາທີ່ຍາກທີ່ສຸດໃນທຸກບາດກ້າວໃນລະບົບຕ່ອງໂສ້ render. ຫລາຍປີທີ່ຜ່ານມາ, ມັນບໍ່ມີຫຍັງອີກນອກ ເໜືອ ຈາກເຄື່ອງນຸ່ງໃນແບບ (ຍັງເອີ້ນວ່າໂຄງສ້າງ) ຖືກຫໍ່ອ້ອມວັດຖຸໃນໂລກໂດຍໃຊ້ຂໍ້ມູນເປັນພິກະເຊນ (ໃນເບື້ອງຕົ້ນຈາກມູມ). ບັນຫາຢູ່ທີ່ນີ້ແມ່ນວ່າໃນຂະນະທີ່ໂຄງສ້າງແລະກອບແມ່ນ 2D, ໂລກທີ່ພວກມັນຕິດຢູ່ນັ້ນແມ່ນງໍ, ຍ້າຍແລະປັບປ່ຽນ ໃໝ່ ໃນຂັ້ນເທິງ. ເຖິງຢ່າງໃດກໍ່ຕາມ, ຄະນິດສາດເພີ່ມເຕີມຖືກໃຊ້ເພື່ອອະທິບາຍເລື່ອງນີ້, ເຖິງແມ່ນວ່າຜົນໄດ້ຮັບສາມາດສ້າງບັນຫາແປກ ໃໝ່ ບາງຢ່າງ.

ໃນຮູບນີ້, ແຜນທີ່ໂຄງສ້າງຂອງກະດານລວດລາຍທີ່ລຽບງ່າຍແມ່ນຖືກ ນຳ ໃຊ້ກັບພື້ນແບນຂະຫຍາຍອອກສູ່ໄລຍະທາງ. ຜົນໄດ້ຮັບແມ່ນລັງກິນອາຫານທີ່ມີຊື່ຫຼິ້ນ regrowing ຫົວ ugly ຂອງຕົນ. ວິທີແກ້ໄຂປະກອບມີແຜນທີ່ໂຄງສ້າງທີ່ນ້ອຍກວ່າ ( ການຈັບຄູ່), ການ ນຳ ໃຊ້ຂໍ້ມູນຊ້ ຳ ອີກຈາກແພຈຸລັງເຫຼົ່ານີ້ ( ການຕອງ), ແລະແມ້ກະທັ້ງ ຫຼາຍ ເລກ, ການວາງມັນທັງຫມົດຮ່ວມກັນ. ຜົນກະທົບຂອງສິ່ງນີ້ແມ່ນເຫັນໄດ້ແຈ້ງ:

ນີ້ເຄີຍເປັນວຽກທີ່ຍາກແທ້ໆ ສຳ ລັບເກມໃດ ໜຶ່ງ, ແຕ່ມັນກໍ່ບໍ່ແມ່ນອີກແລ້ວເພາະວ່າການໃຊ້ອິດສະຫຼະຂອງຜົນກະທົບທາງດ້ານສາຍຕາອື່ນໆເຊັ່ນ: ການສະທ້ອນແສງແລະເງົາ ໝາຍ ຄວາມວ່າການເຮັດໂຄງສ້າງຂອງໂຄງສ້າງກາຍເປັນສ່ວນນ້ອຍໆຂອງ pixels. ຂັ້ນຕອນການປຸງແຕ່ງ. ການຫຼີ້ນເກມທີ່ມີຄວາມລະອຽດສູງຂື້ນຈະເຮັດໃຫ້ມີວຽກທີ່ສູງຂື້ນໃນລະດັບ rasterization ແລະ pixel ຂອງຂັ້ນຕອນການສະແດງ, ແຕ່ຜົນກະທົບທີ່ຂ້ອນຂ້າງໃນຊ່ວງໄລຍະສູງສຸດ. ເຖິງແມ່ນວ່າການໃສ່ສີເບື້ອງຕົ້ນແມ່ນເຮັດໃນລະດັບສູງສຸດເນື່ອງຈາກໄຟສາຍ, ຜົນກະທົບແສງສະຫວ່າງທີ່ສົດໃສກໍ່ສາມາດໃຊ້ໄດ້ທີ່ນີ້.

ໃນຮູບຂ້າງເທິງນີ້, ພວກເຮົາບໍ່ສາມາດເຫັນການປ່ຽນສີລະຫວ່າງສາມຫຼ່ຽມອີກຕໍ່ໄປ, ເຊິ່ງເຮັດໃຫ້ພວກເຮົາມີຄວາມປະທັບໃຈວ່ານີ້ແມ່ນວັດຖຸທີ່ລຽບແລະບໍ່ມີບ່ອນນັ່ງ. ໃນຕົວຢ່າງສະເພາະຕົວຈິງນີ້, ຂອບເຂດຕົວຈິງແມ່ນປະກອບດ້ວຍ ຈຳ ນວນສາມຫລ່ຽມດຽວກັນທີ່ພວກເຮົາເຫັນ. ໂລກສີຂຽວກ່ອນ ເຖິງຢ່າງໃດກໍ່ຕາມ, ແບບປົກກະຕິຂອງສີ pixels ເຮັດໃຫ້ຮູ້ສຶກວ່າມັນມີຮູບສາມຫລ່ຽມຫລາຍຂື້ນ.

ໃນຫລາຍເກມ, ຂັ້ນຕອນຂອງ pixels ລວງຕ້ອງໄດ້ ດຳ ເນີນການຫຼາຍໆຄັ້ງ. ຍົກຕົວຢ່າງ, ໜ້າ ຈໍກະຈົກຫລືທະເລສາບທີ່ສະທ້ອນໃຫ້ເຫັນແຜ່ນດິນໂລກ, ດັ່ງທີ່ເຫັນຈາກກ້ອງຖ່າຍຮູບ, ຕ້ອງໄດ້ມີການຜະລິດເຄື່ອງຈັກເພື່ອໃຫ້ໂລກເລີ່ມຕົ້ນ. ຊື່ຂອງແຕ່ລະການຫັນປ່ຽນ ຜ່ານ ແລະກອບ ໜຶ່ງ ສາມາດບັນຈຸ 4 ຕຣາການປ່ຽນແປງໄດ້ຢ່າງງ່າຍດາຍເພື່ອຜະລິດຮູບພາບສຸດທ້າຍ.

ບາງຄັ້ງຂັ້ນຕອນຂອງການພູຍັງຕ້ອງໄດ້ຮັບການອອກແບບ ໃໝ່ ເພື່ອເຮັດໃຫ້ໂລກມີຄວາມແຕກຕ່າງຈາກມຸມມອງທີ່ແຕກຕ່າງກັນແລະໃຊ້ມຸມມອງນັ້ນເປັນສ່ວນ ໜຶ່ງ ຂອງສະຖານທີ່ທີ່ສະແດງໂດຍນັກພະນັນ. ສຳ ລັບສິ່ງນີ້ ຕັ້ງເປົ້າ ໝາຍ - buffers ທີ່ເຮັດ ໜ້າ ທີ່ເປັນບ່ອນເກັບຮັກສາສຸດທ້າຍຂອງກອບແຕ່ສາມາດໃຊ້ເປັນໂຄງສ້າງໃນ ໜັງ ສືຜ່ານແດນອື່ນ.

ອ່ານເພື່ອໃຫ້ເຂົ້າໃຈດີຂື້ນກ່ຽວກັບຄວາມສັບສົນທີ່ອາດຈະເກີດຂື້ນຂອງເວທີ pixel ການວິເຄາະກອບໂດຍ Adrian Courrèges ແລະໃນເກມນີ້ທ່ານຈະປະຫລາດໃຈດ້ວຍບາດກ້າວທີ່ບໍ່ ໜ້າ ເຊື່ອທີ່ຕ້ອງການເພື່ອເຮັດເປັນກອບດຽວ.

ວຽກທັງ ໝົດ ນີ້ໃນກອບຕ້ອງຖືກບັນທຶກໄວ້ໃນ buffer ເປັນຜົນ ສຳ ເລັດຫລືເປັນຮ້ານຊົ່ວຄາວ, ແລະໂດຍທົ່ວໄປແລ້ວ, ເກມຈະມີ buffer ຢ່າງ ໜ້ອຍ ສອງໂຕໃນເວລາເດີນທາງ ສຳ ລັບການເບິ່ງສຸດທ້າຍ: ໜຶ່ງ ຈະ "ເຮັດວຽກ" ແລະອີກອັນ ໜຶ່ງ ກຳ ລັງລໍຖ້າຈໍຄອມພິວເຕີເຂົ້າເຖິງ ໜ້າ ຈໍຫລືໃນໄລຍະການສະແດງ. ຕ້ອງມີກອບປ້ອງກັນເຟີນີເຈີເພື່ອສ້າງຂື້ນເລື້ອຍໆ, ສະນັ້ນເມື່ອພວກເຂົາເຕັມຮູບແບບ, ຕ້ອງມີການກະ ທຳ ເພື່ອຍ້າຍສິ່ງອ້ອມຂ້າງແລະເລີ່ມຕົ້ນ ໃໝ່. ສ່ວນສຸດທ້າຍໃນການເຊັນກອບກອບແມ່ນ ຄຳ ສັ່ງງ່າຍໆ (ຕົວຢ່າງ. ມີ) ແລະແນວໃດກໍ່ຕາມ, buffers ກອບສຸດທ້າຍໄດ້ຖືກປ່ຽນແປງ, ຈໍພາບໄດ້ຮັບການຕອບສະສົມສຸດທ້າຍ, ແລະກອບຕໍ່ໄປສາມາດເລີ່ມຕົ້ນໄດ້.

ໃນຮູບນີ້, ຈາກ Ubisoft Assassin's Creed Odysseyພວກເຮົາ ກຳ ລັງຊອກຫາເນື້ອໃນຂອງກອບເຟີນິເຈີ ສຳ ເລັດຮູບ. ຄິດວ່າມັນຄ້າຍຄືກັບຕາຕະລາງທີ່ມີແຖວແລະຖັນທີ່ບໍ່ມີຫຍັງເລີຍນອກຈາກຕົວເລກ. ຄ່າເຫຼົ່ານີ້ຈະຖືກສົ່ງໄປທີ່ຈໍມໍເຕີ້ຫຼືໂທລະພາບເປັນສັນຍານໄຟຟ້າແລະສີຂອງ ໜ້າ ຈໍ pixels ຈະປ່ຽນໄປຕາມຄ່າທີ່ຕ້ອງການ. CSI: ຂ່າວເຕັກໂນໂລຢີເນື່ອງຈາກວ່າພວກເຮົາບໍ່ສາມາດເຮັດມັນໄດ້ດ້ວຍຕາຂອງພວກເຮົາ, ພວກເຮົາເຫັນພາບທີ່ຮາບພຽງ, ຕໍ່ເນື່ອງ, ແຕ່ສະ ໝອງ ຂອງພວກເຮົາ ຄວາມເລິກ - ດັ່ງນັ້ນ 3D. ມັນເປັນກອບຂອງຄວາມດີຂອງເກມ, ແຕ່ວ່າມີຫຼາຍຢ່າງທີ່ຢູ່ເບື້ອງຫຼັງ (ຂໍໂທດ), ມັນຄວນເບິ່ງວ່ານັກຂຽນໂປແກຼມຈັດການມັນໄດ້ແນວໃດ.

ການຄຸ້ມຄອງຂະບວນການ: APIs ແລະ ຄຳ ແນະ ນຳ

ເຂົ້າໃຈວິທີການຫລິ້ນເກມທີ່ຈະ ດຳ ເນີນການແລະຈັດການອອກ ກຳ ລັງກາຍທັງ ໝົດ ເຫຼົ່ານີ້ (ຄະນິດສາດ, ມຸມ, ໂຄງສ້າງ, ແສງ, ຕຳ, ຕັ້ງຊື່ມັນ ... ) ແມ່ນວຽກທີ່ mammoth. ໂຊກດີ, ມີການຊ່ວຍເຫຼືອໃນຮູບແບບການເວົ້າ Interface ການຂຽນໂປແກຼມການສະ ໝັກ ຫຼື API ສັ້ນ.

ສ້າງ APIs ຫຼຸດຜ່ອນຄວາມສັບສົນໂດຍລວມໂດຍໃຫ້ຫ້ອງສະຫມຸດຂອງໂຄງສ້າງ, ກົດລະບຽບ, ແລະລະຫັດທີ່ຊ່ວຍໃຫ້ນັກຂຽນໂປແກຼມໃຊ້ ຄຳ ແນະ ນຳ ທີ່ງ່າຍດາຍໂດຍບໍ່ມີສ່ວນພົວພັນກັບຮາດແວໃດໆທີ່ກ່ຽວຂ້ອງ. ເລືອກເກມ 3D ໃດທີ່ປ່ອຍອອກມາໃນ 3 ປີທີ່ຜ່ານມາ ສຳ ລັບ PC ແລະມັນຈະຖືກສ້າງຂື້ນໂດຍໃຊ້ ໜຶ່ງ ໃນສາມຂອງ API ທີ່ມີຊື່ສຽງ: Direct3D, OpenGL ຫຼື Vulkan. ມີຄົນອື່ນ, ໂດຍສະເພາະໃນສະຖານທີ່ມືຖື, ແຕ່ພວກເຮົາຈະຕິດກັບສິ່ງເຫຼົ່ານັ້ນ ສຳ ລັບບົດຂຽນນີ້.

ເຖິງແມ່ນວ່າມັນມີຄວາມແຕກຕ່າງໃນແງ່ຂອງ ຄຳ ແນະ ນຳ ແລະ ຄຳ ຖະແຫຼງການ ດຳ ເນີນງານ (ເຊັ່ນ: ລະຫັດລະຫັດ ສຳ ລັບການຈັດການກັບ pixels ໃນ DirectX, pixel shader; ພູເຂົາໄຟ shader ສ່ວນ), ຜົນສຸດທ້າຍຂອງກອບທີ່ຖືກສ້າງຂື້ນບໍ່ຄວນແຕກຕ່າງກັນຫຼືແຕກຕ່າງກັນ.

ມັນຈະມີຄວາມແຕກຕ່າງກັນທີ່ວ່າອຸປະກອນທັງ ໝົດ ທີ່ໃຊ້ໃນການເຮັດການສະແດງອອກມາ. ນີ້ແມ່ນຍ້ອນວ່າ ຄຳ ແນະ ນຳ ທີ່ໃຫ້ໂດຍການ ນຳ ໃຊ້ API ເພື່ອປະຕິບັດຮາດແວ ຈຳ ເປັນຕ້ອງມີການແປ - ນີ້ແມ່ນຈັດການໂດຍຜູ້ຂັບຂີ່ຂອງອຸປະກອນ, ແລະຜູ້ຜະລິດຮາດແວຕ້ອງໄດ້ໃຊ້ຊັບພະຍາກອນແລະເວລາຫຼາຍເພື່ອຮັບປະກັນວ່າຄົນຂັບເຮັດການປ່ຽນໃຈເຫລື້ອມໃສໄດ້ໄວແລະຖືກຕ້ອງ. ເປັນໄປໄດ້.

ຂໍໃຫ້ໃຊ້ສະບັບທົດລອງກ່ອນ ໜ້າ ນີ້ຂອງ Croteam's 2014 ຫລັກການ Talos ເພື່ອເປັນຕົວຢ່າງນີ້, ເພາະວ່າມັນສະ ໜັບ ສະ ໜູນ 3 API ທີ່ພວກເຮົາໄດ້ກ່າວມາ. ເພື່ອເພີ່ມປະສິດທິພາບສູງສຸດທີ່ຄວາມສາມາດຂອງການຂັບຂີ່ແລະການໂຕ້ຕອບໃນບາງຄັ້ງສາມາດຜະລິດໄດ້, ພວກເຮົາໄດ້ເຮັດມາດຕະຖານທີ່ມີມາດຕະຖານທີ່ມີຄວາມລະອຽດສູງເຖິງ 1080p ໃນການຕັ້ງຄ່າສາຍຕາສູງສຸດ. ຄອມພິວເຕີ້ທີ່ໃຊ້ແມ່ນຖືກ ດຳ ເນີນງານໃນຊົ່ວໂມງເລີ່ມຕົ້ນແລະມີ Intel Core i7-9700K, Nvidia Titan X (Pascal), ແລະ RAM DDR4 32GB.

  • DirectX 9 = ສະເລ່ຍ 188.4 fps
  • DirectX 11 = ສະເລ່ຍ 202.3 fps
  • OpenGL = ສະເລ່ຍ 87,9 fps
  • Vulkan = ສະເລ່ຍ 189.4 fps

ການວິເຄາະທີ່ສົມບູນຂອງການແນະ ນຳ ທີ່ຢູ່ເບື້ອງຫລັງຕົວເລກເຫລົ່ານີ້ບໍ່ໄດ້ຢູ່ໃນຂອບເຂດຂອງບົດຄວາມນີ້, ແລະແນ່ນອນວ່າມັນບໍ່ໄດ້ ໝາຍ ຄວາມວ່າ API ໃດ ໜຶ່ງ ແມ່ນ 'ດີກວ່າ' ທຽບໃສ່ອີກ (ນີ້ແມ່ນສະບັບທົດລອງ, ຈຳ ໄວ້), ສະນັ້ນ 'ການຂຽນໂປແກຼມ ສຳ ລັບ API ທີ່ແຕກຕ່າງກັນ ນຳ ສະ ເໜີ ຄວາມທ້າທາຍຕ່າງໆແລະປະຈຸບັນ ຊີ້ໃຫ້ເຫັນວ່າຈະມີການປ່ຽນແປງບາງຢ່າງໃນການປະຕິບັດ. ໂດຍທົ່ວໄປ, ນັກພັດທະນາເກມຈະເລືອກເອົາ API ທີ່ພວກເຂົາເຮັດວຽກກັບຫຼາຍທີ່ສຸດແລະເພີ່ມປະສິດທິພາບລະຫັດຂອງພວກເຂົາບົນພື້ນຖານນັ້ນ. ບາງຄັ້ງ ຄຳ ສັບ ມໍເຕີ ມັນຖືກໃຊ້ເພື່ອອະທິບາຍລະຫັດການສະແດງຜົນ, ແຕ່ທາງດ້ານເຕັກນິກເຄື່ອງຈັກແມ່ນຊຸດທີ່ສົມບູນທີ່ຈັດການກັບທຸກດ້ານຂອງເກມ, ບໍ່ແມ່ນພຽງແຕ່ກາບຟິກຂອງມັນເທົ່ານັ້ນ.

ການສ້າງໂປແກຼມທີ່ສົມບູນຕັ້ງແຕ່ເລີ່ມຕົ້ນຈົນຮອດການສ້າງເກມ 3D ບໍ່ແມ່ນເລື່ອງງ່າຍດາຍ, ສະນັ້ນເກມຫຼາຍມື້ນີ້ໄດ້ອະນຸຍາດໃຫ້ມີລະບົບເຕັມຮູບແບບຈາກນັກພັດທະນາຄົນອື່ນ (ຕົວຢ່າງ. ເຄື່ອງຈັກ Unreal); ທ່ານສາມາດໄດ້ຮັບຄວາມຄິດກ່ຽວກັບຂະ ໜາດ ໂດຍການເບິ່ງເຄື່ອງຈັກແຫຼ່ງເປີດ. id Software ແຜ່ນດິນໄຫວ ແລະຄົ້ນຫາເອກະສານ gl_draw.c - ລາຍການດຽວນີ້ມີ ຄຳ ແນະ ນຳ ກ່ຽວກັບການກໍ່ສ້າງຕ່າງໆທີ່ປະຕິບັດໃນເກມແລະເປັນຕົວແທນສ່ວນນ້ອຍຂອງເຄື່ອງຈັກທັງ ໝົດ. ແຜ່ນດິນໄຫວມີອາຍຸຫຼາຍກວ່າ 20 ປີແລະ ທຸກເກມ (ລວມທັງສ່ວນປະກອບ, ສຽງ, ເພັງແລະອື່ນໆ) ມັນມີຂະ ໜາດ 55 MB; ບໍ່ຄືກັບ Ubisoft ໄກ້ 5 ຈໍາ​ນວນ ເທົ່ານັ້ນ shaders ໃຊ້ໂດຍເກມໃນເອກະສານ 62MB.

ເວລາແມ່ນທຸກຢ່າງ: ການໃຊ້ຮາດແວຣ໌ທີ່ຖືກຕ້ອງ

ທຸກຢ່າງທີ່ພວກເຮົາໄດ້ອະທິບາຍມາຮອດປະຈຸບັນສາມາດ ຄຳ ນວນແລະການປຸງແຕ່ງໂດຍ CPU ຂອງລະບົບຄອມພິວເຕີໃດໆ; ໂປເຊດເຊີ x86-64 ທີ່ທັນສະ ໄໝ ໄດ້ສະ ໜັບ ສະ ໜູນ ຄະນິດສາດທີ່ ຈຳ ເປັນທັງ ໝົດ, ແລະມີພາກສ່ວນທີ່ອຸທິດຕົນ ສຳ ລັບສິ່ງເຫຼົ່ານີ້. ເຖິງຢ່າງໃດກໍ່ຕາມ, ການເຮັດວຽກນີ້ເພື່ອສ້າງກອບ, ຮຽກຮ້ອງໃຫ້ມີການຄິດໄລ່ຊໍ້າຊາກຫຼາຍແລະຕ້ອງການການປຸງແຕ່ງຂະ ໜານ ຈຳ ນວນຫຼວງຫຼາຍ. CPU ບໍ່ໄດ້ຖືກອອກແບບມາ ສຳ ລັບສິ່ງນີ້ເພາະມັນມີຄວາມ ຈຳ ເປັນທົ່ວໄປໂດຍການອອກແບບທີ່ຕ້ອງການ. ແນ່ນອນວ່າຊິບ ສຳ ລັບວຽກປະເພດນີ້ຖືກເອີ້ນວ່າແນ່ນອນ GPU'lar (ໜ່ວຍ ປະມວນຜົນກາຟິກ) ແລະຄະນິດສາດເຊັ່ນ: DirectX, OpenGL ແລະ Vulkan ຖືກສ້າງຂຶ້ນເພື່ອເຮັດຄະນິດສາດທີ່ ຈຳ ເປັນໃນແບບທີ່ໄວແລະຂະ ໜານ ກັນ.

ວິທີ ໜຶ່ງ ທີ່ຈະສະແດງສິ່ງນີ້ແມ່ນການ ນຳ ໃຊ້ເກນມາດຕະຖານທີ່ຊ່ວຍໃຫ້ພວກເຮົາສ້າງກອບໂດຍໃຊ້ CPU ແລະຫຼັງຈາກນັ້ນ ນຳ ໃຊ້ຮາດແວທີ່ ກຳ ນົດເອງ. ພວກເຮົາຈະ ນຳ ໃຊ້ V-beam ADVANCED ໂດຍ Chaos Group; ເຄື່ອງມືນີ້ເຮັດຈິງຈັງໃນການຊອກຄົ້ນຫາຮັງສີຫຼາຍກ່ວາການສະແດງຜົນທີ່ພວກເຮົາ ກຳ ລັງເບິ່ງໃນບົດຄວາມນີ້, ແຕ່ວ່າສ່ວນໃຫຍ່ຂອງການກັກຂັງ ຈຳ ນວນແມ່ນຕ້ອງມີລັກສະນະຮາດແວຄ້າຍຄືກັນ.

ເພື່ອເຂົ້າໃຈຄວາມແຕກຕ່າງລະຫວ່າງສິ່ງທີ່ CPU ສາມາດເຮັດໄດ້ແລະສິ່ງທີ່ຖືກຕ້ອງ, ຮາດແວທີ່ອອກແບບພິເສດສາມາດເຮັດໄດ້ ສຳ ເລັດ, ພວກເຮົາ ດຳ ເນີນການປຽບທຽບ GPU V-ray ໃນ 3 ຮູບແບບ: CPU ເທົ່ານັ້ນ, GPU ເທົ່ານັ້ນ, ແລະຈາກນັ້ນ CPU + GPU. ຜົນໄດ້ຮັບແມ່ນຂ້ອນຂ້າງແຕກຕ່າງກັນ:

  • ການທົດສອບ CPU ເທົ່ານັ້ນ = 53 ຄະນິດສາດ
  • ການທົດສອບ GPU ເທົ່ານັ້ນ = 251 ຄະນິດສາດ
  • CPU + GPU testi = 299 mpath

ເນື່ອງຈາກຄວາມແຕກຕ່າງ 5 ເທົ່າຂອງຜົນຜະລິດບໍ່ແມ່ນເລື່ອງເລັກໆນ້ອຍໆ, ພວກເຮົາສາມາດບໍ່ສົນໃຈຫົວ ໜ່ວຍ ວັດແທກໃນການປຽບທຽບນີ້. ແຕ່ນີ້ບໍ່ແມ່ນການທົດສອບທີ່ຄ້າຍຄືກັບເກມຫຼາຍ, ສະນັ້ນໃຫ້ພວກເຮົາລອງສິ່ງອື່ນແລະໄປໂຮງຮຽນເກົ່າບາງແຫ່ງ. 3DMark03 ຂອງ Futuremark. ໂດຍການ ນຳ ໃຊ້ການທົດສອບ Wings of Fury ແບບງ່າຍໆ, ພວກເຮົາສາມາດບັງຄັບໃຫ້ເຮັດທຸກມຸມ (ໂດຍປົກກະຕິ ສຳ ລັບການເຄື່ອນຍ້າຍແລະການເຮັດສາມຫລ່ຽມສີ) ໂດຍໃຊ້ CPU.

ຜົນໄດ້ຮັບກໍ່ບໍ່ຄວນເຮັດໃຫ້ເກີດຄວາມແປກໃຈ, ແຕ່ວ່າມັນຍັງມີສຽງຫຼາຍກ່ວາສິ່ງທີ່ພວກເຮົາໄດ້ເຫັນໃນການທົດສອບ V-ray:

  • ເຄື່ອງດັບຍອດ CPU ສູງສຸດ = 77 fps ໂດຍສະເລ່ຍ
  • ກ້ອງສ່ອງທາງແຈ GPU = ສະເລ່ຍ 1580 fps

ໃນຂະນະທີ່ CPU ກຳ ລັງປະຕິບັດການຄິດໄລ່ vertex ທັງ ໝົດ, ມັນໃຊ້ເວລາສະເລ່ຍ 13 milliseconds ເພື່ອສະແດງແລະສະແດງແຕ່ລະກອບ; ການຊຸກຍູ້ຄະນິດສາດນັ້ນໃຫ້ GPU ຫຼຸດຜ່ອນເວລານີ້ລົງເຫຼືອພຽງ 0,6 ມິນລິລິດ. ເວົ້າອີກຢ່າງ ໜຶ່ງ, ມັນໄວກວ່າ 20 ເທົ່າ.

ຖ້າພວກເຮົາທົດສອບການທົດສອບທີ່ສັບສົນທີ່ສຸດໃນການສົມທຽບ, Mother Nature, ຄວາມແຕກຕ່າງກໍ່ຍິ່ງເດັ່ນກວ່າເກົ່າ. ດ້ວຍ CPU ທີ່ເຮັດໃຫ້ ໜ້າ ຈໍສູງສຸດ, ຜົນໄດ້ຮັບສະເລ່ຍແມ່ນ 3,1 fps! ນຳ GPU ແລະອັດຕາພາສະເລ່ຍຂື້ນສູງເຖິງ 1388 fps: ໄວກວ່າປະມານ 450 ເທົ່າ. ໃຫ້ສັງເກດວ່າຕອນນີ້ 3DMark03 ມີອາຍຸ 16 ປີແລະການທົດສອບພຽງແຕ່ຈັດແຈງມຸມໃນ CPU ເທົ່ານັ້ນ - ການ rasterization ແລະ pixel ໄລຍະແມ່ນຍັງເຮັດຜ່ານ GPU. ຈະເປັນແນວໃດຖ້າວ່າມັນທັນສະ ໄໝ ແລະທຸກຢ່າງກໍ່ຖືກເຮັດໃນ software?

ລອງເບິ່ງ ຮ່ອມພູ Unigine ເຄື່ອງມືການໃຊ້ດັດຊະນີອີກຄັ້ງ - ຂ້ອນຂ້າງ ໃໝ່, ມີຮູບພາບທີ່ຄ້າຍຄືກັບຮູບພາບທີ່ຄ້າຍຄືກັບເຄື່ອງທີ່ເຫັນໃນເກມເຊັ່ນ Ubisoft's Far Cry 5; ນອກ ເໜືອ ຈາກລົດເມ DirectX 11 GPU ແບບມາດຕະຖານ, ມັນຍັງໃຫ້ບໍລິການເຄື່ອງຈັກທີ່ໃຊ້ໂປແກຼມໂປຼແກຼມໂປແກຼມເຕັມຮູບແບບ. ຜົນໄດ້ຮັບບໍ່ ຈຳ ເປັນຕ້ອງມີການວິເຄາະຫຼາຍ, ແຕ່ການ ນຳ ໃຊ້ລຸ້ນທົດລອງ DirectX 11 ທີ່ມີຄຸນນະພາບຕ່ ຳ ທີ່ສຸດໃນ GPU ສະເລ່ຍ 196 ເຟຣມຕໍ່ວິນາທີ. ຮຸ່ນຊອບແວ? ສອງສາມອຸປະຕິເຫດທີ່ຫລີກໄປທາງຫນຶ່ງ, ຄອມພິວເຕີທົດສອບທີ່ມີປະສິດທິພາບໄດ້ແຕ້ມສະເລ່ຍ 0.1 ເຟຣມຕໍ່ວິນາທີ - ເກືອບ ສອງ​ພັນ ເວລາຊ້າລົງ.

ເຫດຜົນຂອງຄວາມແຕກຕ່າງດັ່ງກ່າວແມ່ນນອນໃນຮູບແບບຂອງຄະນິດສາດແລະຂໍ້ມູນການ ນຳ ໃຊ້ແບບ 3D. ໃນ CPU, ຫົວ ໜ່ວຍ ຈຸດເລື່ອນ (FPUs) ເຮັດການຄິດໄລ່ພາຍໃນແຕ່ລະຫຼັກ; ແບບ i7-9700K ຂອງຄອມພີວເຕີ້ທົດສອບມີ 8 ຫຼັກພ້ອມ FPU ສອງ ໜ່ວຍ. ເຖິງແມ່ນວ່າ ໜ່ວຍ ງານໃນ Titan X ແມ່ນແຕກຕ່າງກັນໃນການອອກແບບ, ທັງສອງສາມາດເຮັດຄະນິດສາດພື້ນຖານໃນຮູບແບບຂໍ້ມູນດຽວກັນ. GPU ໂດຍສະເພາະນີ້ມີຫຼາຍກວ່າ 3500 ໜ່ວຍ ເພື່ອເຮັດການປຽບທຽບທີ່ສົມທຽບໄດ້, ແລະເຖິງວ່າໂມງຈະບໍ່ຖືກສະແດງຢູ່ບ່ອນໃດບ່ອນ ໜຶ່ງ ໃກ້ກັບສະຖານທີ່ດຽວກັບ CPU (1.5 GHz vs 4.7 GHz), GPU ລື່ນກາຍໂປເຊດເຊີກາງໂດຍ ຈຳ ນວນ ໜ່ວຍ ທີ່ໂປ່ງໃສ.

ໃນຂະນະທີ່ ກຳ ປັ່ນ Titan X ບໍ່ແມ່ນບັດກາຟິກແບບ ທຳ ມະດາ, ແມ່ນແຕ່ຮູບແບບງົບປະມານຈະດີກວ່າ CPU ໃດໆ, ສະນັ້ນທຸກເກມ 3D ແລະ API ກໍ່ຖືກອອກແບບມາ ສຳ ລັບຮາດແວທີ່ອຸທິດຕົນ. ຮູ້ສຶກວ່າສາມາດດາວໂລດ V-ray, 3DMark ຫຼືມາດຕະຖານ Unigine ໃດກໍ່ໄດ້, ແລະທົດສອບລະບົບຂອງທ່ານເອງ - ໂພດຜົນໄດ້ຮັບໃນເວທີສົນທະນາເພື່ອໃຫ້ທ່ານສາມາດເບິ່ງວ່າ GPUs ດີປານໃດ ສຳ ລັບການສະແດງກາຟິກໃນເກມ.

ບາງ ຄຳ ສຸດທ້າຍໃນ ໜ້າ 101 ຂອງພວກເຮົາ

ນີ້ແມ່ນການສຶກສາໂດຍຫຍໍ້ກ່ຽວກັບວິທີການຮຽບຮ້ອຍທີ່ຖືກສະແດງໃນເກມ 3D, ຈາກຈຸດຕ່າງໆໃນອະວະກາດໄປຈົນເຖິງ pixel ສີໃນຈໍຕິດຕາມ.

ໃນລະດັບຂັ້ນພື້ນຖານທີ່ສຸດຂອງມັນ, ຂະບວນການທັງ ໝົດ ແມ່ນບໍ່ມີຫຍັງນອກ ເໜືອ ຈາກການເຮັດວຽກກັບຕົວເລກ, ເພາະວ່າຄອມພິວເຕີ້ທັງ ໝົດ ເຮັດມັນໄດ້. ເຖິງຢ່າງໃດກໍ່ຕາມ, ບົດຂຽນນີ້ມີຫຼາຍຢ່າງເພື່ອສຸມໃສ່ພື້ນຖານ (ພວກເຮົາອາດຈະສືບຕໍ່ ດຳ ເນີນການ ດຳ ນ້ ຳ ທີ່ເລິກເຊິ່ງກວ່າເກົ່າກ່ຽວກັບວິທີການສ້າງຮູບພາບຄອມພິວເຕີ້ໃນພາຍຫລັງ). ພວກເຮົາບໍ່ໄດ້ລວມເອົາຄະນິດສາດຕົວຈິງໃດໆທີ່ ນຳ ໃຊ້ເຊັ່ນ: ພຶດຊະຄະນິດຂອງເສັ້ນຊື່, Euclidean linear algebra, trigonometry ແລະການຄິດໄລ່ຄວາມແຕກຕ່າງທີ່ປະຕິບັດໂດຍຮາກທີ່ເປັນ shaders ຮາກແລະ pixel; ພວກເຮົາໄດ້ອະທິບາຍວິທີການແປຮູບໂຄງສ້າງຜ່ານການເກັບຕົວຢ່າງທາງສະຖິຕິແລະພວກເຮົາເອົາຜົນກະທົບທາງສາຍຕາທີ່ດີເຊັ່ນ: ໜ້າ ຈໍສະແດງອາກາດລ້ອມຮອບ, ການຫຼຸດຜ່ອນສຽງດັງ

ແຕ່ເມື່ອທ່ານດັບໄຟຕໍ່ໄປ Call of Mario: Deathduty Battleyard, ທ່ານບໍ່ພຽງແຕ່ຈະເຫັນກາຟິກທີ່ມີຄວາມຮູ້ສຶກແປກ ໃໝ່, ແຕ່ທ່ານຈະຮູ້ສຶກຄັນຄາຍທີ່ຈະຮຽນຮູ້ຕື່ມອີກ.