2014年11月6日

3D Programming Resource (3D 程式設計資源)

微軟線上教材: DirectX 程式設計的基礎

Dynamic vertex pulling with D3D11

Good resources for game/3D development

Building an Open-Source, Cross-Platform 3D Game with C++, OpenGL and GLSL, from the Ground Up

Three.js terrain 物理碰撞

How To Make WebGL Animations
Youtube 教學影片
Blog 教學文章

three.js 教學資源

Real-time GPU Ray-Tracer

Volume Rendering - GigaVoxels
   http://realtimevoxels.blogspot.tw/2012/09/introduction-to-gigavoxels-and-sparse.html
  http://maverick.inria.fr/Publications/2011/Cra11/

Cyril Crassin 網站
  http://www.icare3d.org/
  http://www.reddit.com/r/VoxelGameDev/comments/122qv0/realtime_voxels_extending_gigavoxels_and_sparse/
官網:
  http://gigavoxels.inrialpes.fr/index.htm

Perspective projections in LH and RH systems
http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/perspective-projections-in-lh-and-rh-systems-r3598

A Blending Animation Controller for a Skinned Mesh
  http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/a-blending-animation-controller-for-a-skinned-mesh-r3592

WebGL 教學
  http://coderellis.blogspot.tw/2014/02/webgl-demo01-3d-transformation-and.html

0 A.D. open source
http://os.wildfiregames.com/
http://www.wildfiregames.com/

Project Tango - Google 行動3D專案
http://www.google.com/atap/projecttango/

Humus - 提供 DirectX10/OpenGL 框架與範例程式
Humus - 3D, DX10/OpenGL code sample

OpenGL Charting Library / stock chart
  Champion Stock Chart Viewer Version 1.01
    https://github.com/Xangis/StockViewer
    http://zetacentauri.com/software_stockchartviewer.htm
  MathGL
    http://sourceforge.net/projects/mathgl/?source=pdlp

DirectX 11 engine
  http://hieroglyph3.codeplex.com/

OCEAN WAVE SIMULATION 海水海浪模擬動畫
A ocean wave simulation in WebGL with a CSS 3D and Canvas UI by David Li.

Building a 3D MMO using Websockets
  http://www.gamedev.net/page/resources/_/technical/multiplayer-and-network-programming/building-a-3d-mmo-using-websockets-r3392
Game Programming Spatial Partition
  http://gameprogrammingpatterns.com/spatial-partition.html
8個驚艷的HTML5 和 JavaScript 特效
  http://www.cnblogs.com/lhb25/archive/2011/08/09/awesome-html5-and-javascript-effects.html

Game Physics - 遊戲程式設計的物理學知識介紹

Polygonising a scalar field
  http://paulbourke.net/geometry/polygonise/
BVH File Loading and Displaying
  http://www.gamedev.net/page/resources/_/technical/game-programming/bvh-file-loading-and-displaying-r3295
Loading OBJ model to VBO
  http://www.gamedev.net/topic/646328-loading-obj-model-to-vbo/
Designing Parametric Animation Systems
  http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/designing-parametric-animation-systems-r3241

Hide Objects Blocking Player View
  http://www.gamedev.net/page/resources/_/technical/game-programming/hide-objects-blocking-player-view-r3215

Rendering and Simulation in an Off-Road Driving Game
  http://www.gamedev.net/page/resources/_/technical/game-programming/rendering-and-simulation-in-an-off-road-driving-game-r3216

Useless Snippet #1: Transform Vec3f by Matrix4x4f
  http://www.gamedev.net/page/resources/_/technical/general-programming/useless-snippet-1-transform-vec3f-by-matrix4x4f-r3208

Ten Things to Achieve When Starting 3D Programming
  http://www.gamedev.net/page/resources/_/technical/game-programming/ten-things-to-achieve-when-starting-3d-programming-r3209

Free 3D Model Download
  3D Freebie Model Download
    http://3dfreebie.com/home.aspx
  3D Model World
    http://3dmodelworld.com/downloads.aspx

Recast - An open source navigation mesh construction toolset library for games.
   https://code.google.com/p/recastnavigation/
 blog
   http://digestingduck.blogspot.tw/

Gildor's Homepage tools download (Unreal model viewer, max importer)
  http://www.gildor.org/downloads
UE Viewer
  http://www.gildor.org/en/projects/umodel

The Free 3D Models 資源
  http://thefree3dmodels.com/

Real-Time Rendering 資源
  http://www.realtimerendering.com/

GarageGames Torque 3D 開始Open Source
   http://www.garagegames.com/community/blogs/view/21952
 Torque 3D source code
   https://github.com/GarageGames/Torque3D

LOL
  自製skin與3D model
    http://skins.freebbs.tw/forumdisplay.php?fid=53&page=1
    3D Model
    http://skins.freebbs.tw/viewthread.php?tid=205&extra=page%3D1
  如何安裝自製的skin
    http://www.gamebase.com.tw/forum/60895/topic/95851564/1#95851564
  lol file importer/exporter for Blender 2.5
    https://code.google.com/p/lolblender/
  lol file format
    https://code.google.com/p/lolblender/wiki/fileFormats
  lol model viewer from google code
     http://code.google.com/p/lolmodelviewer/
  RAF manager project
     http://www.itzwarty.com/RAF/
     https://code.google.com/p/raf-manager/
  LOLKING Web Character Viewer
     http://www.lolking.net/models

Game File Format Central
   http://wiki.xentax.com/index.php?title=Game_File_Format_Central

Free Miku Max model
   http://xenoaisam.com/2011/01/12/free-miku-model/
   from
      http://xenoaisam.com/

MikuMikuDance (MMD) 介紹
   http://en.wikipedia.org/wiki/MikuMikuDance
   http://dontshow.pixnet.net/blog/post/37292538-niconico%E5%82%B3%E8%AA%AA%E4%B9%8B%E4%BB%80%E9%BA%BC%E6%98%AFmmd%EF%BC%9F--xd
Motion舞步的Nico神人-百舌谷??所製作的MMD動作描繪教學動畫
   http://blog.xuite.net/kitsunesaru/kaito/63161121-MMD+-+%E7%A5%9EMotion%E7%9A%84%E8%A3%BD%E4%BD%9C%E6%B5%81%E7%A8%8B%E6%95%99%E5%AD%B8%E5%8B%95%E7%95%AB%E7%BF%BB%E8%AD%AF%E5%AE%8C%E7%95%A2!
  MMM - MikuMikuMoving
     https://sites.google.com/site/moggproject/mmm_eng
巴哈姆特初音討論區
   http://forum.gamer.com.tw/A.php?bsn=60499

Miku 3D 全息投影
    http://home.gamer.com.tw/creationDetail.php?sn=1558954
  全息投影DIY
    http://forum.gamer.com.tw/C.php?page=1&bsn=60499&snA=13631
    http://www.putpi.com/xin/652.html
    http://news.17173.com/content/2012-05-25/20120525110608971_1.shtml
    http://forum.gamer.com.tw/Co.php?bsn=60499&sn=65060
    倒三角全息投影器DIY
    http://news.17173.com/content/2012-06-27/20120627012416789_all.shtml

3D Tech News and 3D Programming
   http://www.geeks3d.com/
Programming
  PMD format
    https://sites.google.com/site/moggproject/mmm_eng

MikuMikuDance簡易圖文教學其之1 - MMD 模型導入&持物配件固定 (含軟體下載教學)
   http://blog.xuite.net/kitsunesaru/kaito/22036344
MMD下載英文網頁 (VPVP英文官網,VocaloidPromotionVideoProject)
   http://www.geocities.jp/higuchuu4/index_e.htm
  官方教學資源
    http://www.geocities.jp/higuchuu4/index_e.htm
  專文介紹
     http://digitdream-land.blogspot.com/2009/07/incredible-mikumikudance.html
  學習資源網站
    http://learnmmd.com/
    MikuMikuBeat
    https://sites.google.com/site/mikumikubeat/bulletin-board
  forum
    http://www.vocaforum.com/forum.php
  MMD:FAQ (編輯中)
    http://mikumikudance.wikia.com/wiki/MMD:FAQ
  PMD Editor 教材
    https://sites.google.com/site/mikumikubeat/tutorials/pmdedit/01
  Guide Making a simple PMD Model (for Mikumikudance)
    http://www.vocaforum.com/showthread.php?t=183
  MikuMikuDance(MMD)暨中文化推廣
    http://forum.gamer.com.tw/Co.php?bsn=60499&sn=33184

MMD <---> Blender
   http://www.oogtech.org/content/tag/import-from-mmd-to-blender/
plugins:
 VMDImporter (for Blender v2.49?) 把MMD用的動作模組讀進Blender
   https://sites.google.com/a/render.jp/vmdimporter/
   教材與資源
   https://sites.google.com/a/render.jp/vmdimporter/Home/hontai-to-tsukaikata
 Blender2pmd - 把Blender的3D模型轉換成MMD人物模組

 MMD Tuto : Import Models In Blender
   http://kukla-factory.deviantart.com/art/MMD-Tuto-Import-Models-In-Blender-302877409
 Blender2PMD Installation Tut (for Blender v2.49)
   http://jerisenigma.deviantart.com/art/Blender2PMD-Installation-Tut-293622388
Miku & Blender 2.52
   https://sites.google.com/site/khuuyjblend/home/blender
 
Blender 教材資源
  初學教學資源
     2.4X
        http://wiki.blender.org/index.php/Doc:2.4/Books/Essential_Blender
    http://digitized-life.blogspot.tw/2012/04/blender.html
    http://blendertips.com/tutorials.html
  Blender Cookie
   http://cgcookie.com/blender/
  用Blender建立一個森林場景
   http://www.gamedev.net/blog/33/entry-2254908-creating-a-forest-scene-in-blender/

兩張照片產生3D Model
   http://www.photosculpt.net/
CGTextures - CG/3D Model Texture
   http://www.cgtextures.com/
Fix Your Timestep!
  http://gafferongames.com/game-physics/fix-your-timestep/
Main Loop with Fixed Time Steps
  http://www.flipcode.com/archives/Main_Loop_with_Fixed_Time_Steps.shtml

OpenGL 教學
   設定Visual C++ express
       http://openglbook.com/setting-up-opengl-glew-and-freeglut-in-visual-c/
   OpenGL 3.3+ 教學資源
       http://www.opengl-tutorial.org/
       教學: 使用cmake
       http://www.opengl-tutorial.org/beginners-tutorials/tutorial-1-opening-a-window/
   CMake
     http://www.cmake.org/cmake/resources/software.html
     入門/建置執行檔 http://zh.wikibooks.org/wiki/CMake_%E5%85%A5%E9%96%80/%E5%BB%BA%E7%BD%AE%E5%9F%B7%E8%A1%8C%E6%AA%94

Books
  OpenGLBook.com (OpenGL 4.0)
       http://openglbook.com/the-book/
  OpenGL Insights - OpenGL, OpenGL ES, and WebGL community experiences
    http://openglinsights.com/
  GPU Gems 3 線上版
    http://http.developer.nvidia.com/GPUGems3/gpugems3_ch01.html

  Learning Modern 3D Graphics Programming 網頁版
    http://www.arcsynthesis.org/gltut/

3D model file compression
   http://lspiroengine.com/?p=36
OpenCTM - the Open Compressed Triangle Mesh file format
   http://openctm.sourceforge.net/

3D 繪圖範例
   http://www.iquilezles.org/www/index.htm
 
SCEngine - Voxel Engine
   http://www.scengine.org/index
   code
   https://gitorious.org/scengine
Open Game Engine
   hmrEngine
       http://www.hmrengine.com/blog/

Windows Voxel Game
   http://www.indiedb.com/games/lemma
   blog
      http://et1337.wordpress.com/2013/05/06/lemma-alpha-3-ready-to-play/
   code
      https://github.com/et1337/Lemma

GPU based simulation and visualization of fluids with free surfaces
   http://www.martin-schreiber.info/diplomathesis.html
   Youtube
      http://www.youtube.com/watch?v=RKjLlejwRoo&feature=related

Floyd is a collection of 3D libraries, mathematics and scene libraries and utilities. The main parts of it are geometry library Elea, OpenGL scene graph library Miletos and posing application Khayyam.
     http://sourceforge.net/projects/floyd/
     http://floyd.sourceforge.net/

react3d : an open-source library for producing real-time dynamic 2d and 3d character animations on-the-fly
   http://code.google.com/p/react3d/

Cal3D : a skeletal based 3d character animation library
   http://gna.org/projects/cal3d/
DANCE is a software package for physics-based character animation and simulation
   http://www.arishapiro.com/dance/

a young man work - animadead : a skeletal animation library
   http://animadead.sourceforge.net

Digital yuusha modding archives. Some AG3 clothes editor talk, but nothing about AG3 in general.
   http://xtsukihime.blogspot.com/
Importing characters from games
   http://xtsukihime-cc.blogspot.tw/
3D Models format 入門學習 - 3D model reversing
   http://xtsukihime-3d.blogspot.tw/

Experimentation with 3D posing and animation blog - Khayyam
   http://khayyam.kaplinski.com/

free 3D resource
   http://opengameart.org/
   http://www.turbosquid.com/
   http://www.deviantart.com/
   http://lauris71.deviantart.com/gallery/
Where to find free 3D models?
   http://khayyam.kaplinski.com/2011/03/where-to-find-free-3d-models.html

   http://www.turbosquid.com/3d-models/tween-girl-blend-free/583223

Rendering Water as a Post-process Effect
      http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/rendering-water-as-a-post-process-effect-r2642

nGENE
   Creator's Blog
       http://wtomandev.blogspot.com/
   Web
       http://ngene.wikidot.com/

CryENGINE 3 Free SDK
   http://www.crydev.net/dm_eds/download_detail.php?id=4

線上編輯人物動作, 人物動作商店
   http://www.mixamo.com/

a free open-source 3D application framework
  PixelLight
     http://www.pixellight.org/site/index.php/page/1.html

3D大頭照製作
   http://www.techbang.com.tw/posts/2072-3d-bulk-of-photographs-with-one-set-of-hair-cosmetics

Open Source Game Development
    http://www.devmaster.net/

物理運算教學 電子書 The Nature of Code
   免費網頁版
      http://natureofcode.com/book/
   官網
      http://natureofcode.com/

3D World Simulation
   http://www.euclideanspace.com/
3D Physics
   http://www.euclideanspace.com/physics/index.htm

Physics Engine
    Newton Dynamics - an accurate 3d Physics Library for real-time simulation of physics environments
         http://newtondynamics.com/forum/newton.php
         http://code.google.com/p/newton-dynamics/
Scythe - a modeling tool for physics engines
    http://www.physicseditor.com/index.shtml

Open Source Rendering Engine
   CG_GL
      http://mion.elka.pw.edu.pl/~sgasioro/

Open Source Game Engine
   Maratis3D
        http://www.maratis3d.com/
   3DVIA
        http://www.3dvia.com/

Assimp
    http://assimp.sourceforge.net/index.html
    內含(Irrlicht Engine Irr file importer)

自然場景
    Gugila, GroundWiz
      http://www.gugila.com/index.html

人體建模
     Make Human - Open Source
       http://www.makehuman.org/
       http://makehuman.blogspot.com/
       http://droger.pixnet.net/blog/post/6771895
       http://en.wikipedia.org/wiki/MakeHuman
       http://www.macuknow.com/node/212
       http://hammerbchen.blogspot.tw/2007/02/human-anatomy.html

人臉建模
     FaceGen
       http://www.facegen.com/index.htm

以Boujou製作實拍與電腦動畫合成
   http://hammerbchen.blogspot.tw/2007/05/boujou.html


Kinect

 Kinect 的軟體開發方案:OpenNI 簡介
  http://kheresy.wordpress.com/2011/01/19/openni_1st/

 透過 OpneNI 讀取 Kinect 深度影像資料
  http://kheresy.wordpress.com/2011/01/20/read_kinect_depth_data_via_openni/

 在 WIndows 上安裝 Kinect(含 MMD 使用 Kinect 簡易教學)
  http://kheresy.wordpress.com/2010/12/25/use_kinect_on_windows/

多線程遊戲引擎

    Intel Demo
      http://software.intel.com/en-us/articles/colony/
      http://software.intel.com/en-us/articles/parallel-programming-vc/
      http://software.intel.com/en-us/articles/tickertape/
      http://software.intel.com/en-us/articles/multi-threaded-fluid-simulation-for-games/

    articles
      http://www.geeks3d.com/20100418/game-engine-multi-threading-programming-resources/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+TheGeeksOf3d+%28The+Geeks+Of+3D%29&utm_content=Google+Reader

http://www.bennychen.cn/2011/01/%e5%85%b3%e4%ba%8e%e6%b8%b8%e6%88%8f%e5%bc%95%e6%93%8e%e5%a4%9a%e7%ba%bf%e7%a8%8b%e7%9a%84%e4%b8%80%e4%ba%9b%e6%95%b4%e7%90%86%e5%92%8c%e6%80%9d%e8%80%83/

3D RAD - Free 3D Game Maker:
   http://www.3drad.com/

Open Asset Import Library
   http://sourceforge.net/projects/assimp/
   http://assimp.sourceforge.net/index.html

OGRE
   http://www.ogre3d.org/

Irrlicht Engine
   http://irrlicht.sourceforge.net/index.html

Make3D - Convert your image into 3d model
    http://make3d.cs.cornell.edu/index.html

Efficient Sparse Voxel Octrees
    http://code.google.com/p/efficient-sparse-voxel-octrees/

Real-time ray tracing
  the Arauna real-time ray tracer
      http://igad.nhtv.nl/~bikker/

  Tachyon
      http://jedi.ks.uiuc.edu/~johns/raytracer/

  OpenRT
      http://openrt.de/

  POV-Ray
      http://www.povray.org/

  Ray Tracing News Guide
      http://tog.acm.org/resources/RTNews/html/index.html

Real-time radiosity
   Molecular Musings
       http://molecularmusings.wordpress.com/

Google Web 3D
     http://code.google.com/intl/zh-TW/apis/o3d/
     http://www.youtube.com/watch?v=uofWfXOzX-g&feature=channel

a bvh animation editor
     http://www.avimator.com/
     http://qavimator.org/

3D Game Maker
   Platinum Arts Sandbox Free 3D Game Maker 2.4 Release!
      http://sandboxgamemaker.com/

open free 3D flash engine
    Papervision3D
       http://dev.papervision3d.org/
       http://code.google.com/p/papervision3d/
       http://blog.papervision3d.org/

3D共用檔案格式
  COLLADA
        http://www.khronos.org/collada/
        https://collada.org/mediawiki/index.php/COLLADA_-_Digital_Asset_and_FX_Exchange_Schema
        http://en.wikipedia.org/wiki/COLLADA

MS SDK Mesh file format
    http://msdn.microsoft.com/en-us/library/ee417522(VS.85).aspx

Blog
   Maya 每日一招
    http://maya-tricks.blogspot.com/

素材買賣服務
  http://www.the3dstudio.com/

Blender
    http://www.blender.org/
    http://blender.tw/news.php
    Building Blender
         http://www.blender.org/development/building-blender/
         http://wiki.blender.org/index.php/Dev:Doc/Building_Blender

face recognition
   http://www.face-rec.org/algorithms/
   http://www.facedetection.com/facedetection/software.htm
   http://www.shervinemami.co.cc/faceRecognition.html

即時戰略Open Source
   Warzone 2100
       http://wz2100.net/

MyGUI is a library for creating Graphical User Interfaces (GUIs) for games and 3D applications.
   http://mygui.info/
賽車Game
    StuntRally
       https://code.google.com/p/vdrift-ogre/
Blog
  Illumination
    http://blog.icare3d.org/

Sean Hand-painting Tutorial
   http://goraaz.se/SeanTutorial.html

3D
   第4點D投影到前3個點(A,B,C)所構成的平面,找出投影點D' 的座標。
   
Tinkercad - a CAD model editor for a 3D printer
   https://tinkercad.com/

OPL2 - An open source replacement for the Polygon Love 2 game engine
   http://sourceforge.net/projects/opl2/?source=navbar
opl2 - Multi-platform open-source engine for "Polygon Love 2"
   http://code.google.com/p/opl2/
open-pl2 - Open source 3D engine supporting 'PL2' resource files
   http://code.google.com/p/open-pl2/

OpenGL Shading code
   http://pastebin.com/YXP6j9vN

免費免安裝 建模工具軟體 - Sculptris
  http://www.pixologic.com/sculptris/

Game Research Forum - XeNTaX
  http://forum.xentax.com/viewforum.php?f=24

Ogre3d 達人blog - 與食人魔獸之間的恩怨情仇
   http://makedreamvsogre.blogspot.tw/
zevoid blog - .serializeTo(blog)
   http://zevoid.blogspot.tw/
lookof blog - ?限?光 : 近?地形算法??小?
  http://www.cnblogs.com/lookof/archive/2009/12/30/1636289.html
痞子?3D?程 blog
  http://blog.csdn.net/pizi0475

me3explorer - Game Model Exporting
  http://me3explorer.freeforums.org/index.php

Bioshock infinite shader
   https://drive.google.com/folderview?id=0BzqpBc4MrAMXYzQyY1VYQVBMR2c&usp=sharing

Unreal Forum
  Unreal coding
    http://www.gildor.org/smf/index.php/board,21.0.html
  UE Viewer / Umodel
    http://www.gildor.org/smf/index.php/board,3.0.html
  Bioshock
    http://www.gildor.org/smf/index.php/board,24.0.html

Game Engine
  GTGameEngine - someone free game engine
    http://mackron.github.io/GTGameEngine/

BVH File Loading and Displaying
http://www.gamedev.net/page/resources/_/technical/game-programming/bvh-file-loading-and-displaying-r3295

Writing Endian Independent Code in C++
http://www.gamedev.net/page/resources/_/technical/general-programming/writing-endian-independent-code-in-c-r3301

True3F*Shell, open source 3D desktop
    http://www.sixtyfourbit.org/3dshell.htm
  MQ4CPP, Message Queuing for C++, open source implementation
    http://www.sixtyfourbit.org/mq4cpp.htm

Build algorithmic 3D structures with JavaScript - grow3.js
  http://grow3.zyxxy.de/index.html

3D檔案格式與工具資源 - David Henry's homepage
  http://tfc.duke.free.fr/

Ogre骨架動畫分析 from 夸父的筆記
  http://www.cppblog.com/flyindark/archive/2012/07/25/OgreSkeletonAnimation.html
CEGUI 筆記
  http://www.cppblog.com/flyindark/archive/2011/06/13/148586.aspx

從Depth map取得Eye-Space空間座標
http://briclin.blogspot.tw/2012/02/depth-mapeye-space.html

如何利用RGBA_8888,壓縮浮點RGBA [0.0, 1.0]數值
http://briclin.blogspot.tw/2011/01/rgba8888rgba-00-10.html

Game Development with Win32 and DirectX 11 - Part 00: Setup
http://www.gamedev.net/page/resources/_/technical/game-programming/game-development-with-win32-and-directx-11-part-00-setup-r3032

opengl freetype 中文顯示 學習
http://huangchunquanmaker.blog.163.com/blog/static/1074084832011526112724145/

glut 教學 - glPrintf() 秀中文字
http://www.programmer-club.com/showsametitlen/opengl/2650.html

SDL2 教學範例
http://lazyfoo.net/tutorials/SDL/index.php

blog
VISUAL REVOLUTION OF THE VANISHING OF ETHAN CARTER
http://www.theastronauts.com/2014/03/visual-revolution-vanishing-ethan-carter/

Agisoft Photoscan - 從照片轉成3D模型的軟體
http://www.agisoft.ru/

2014年4月3日

顯示網路圖的工具軟體

因為工作的關係,需要透過網路圖分析不同項目彼此連結的程度,尋找網路上可用的網路圖顯示工具軟體。
在相關的wiki網頁有相關介紹...
 http://en.wikipedia.org/wiki/Graph_drawing

發現有兩套似乎不錯: Gephi & Cytoscape

Gephi
    http://en.wikipedia.org/wiki/Gephi
    http://gephi.org/users/download/
    source code
    https://wiki.gephi.org/index.php/Checkout_Code


2013年6月9日

軟體開發基礎開源程式庫 #1 - zlib

zlib 程式庫提供打包檔案與加解密的功能,是許多軟體的基礎元件,許多開源程式庫皆使用並已內含於專案檔案中。

透過官網可下載取得zlib原始碼與執行版本:
http://zlib.net/

研讀 zlib 原始碼與說明文件,練習編譯與使用 zlib,可學習到軟體專案的目錄架構編排方式。目前的版本已支援 64 bit,zlib 的跨平台程式碼、文件說明都是不錯的範例教材,值得想開發開源專案的朋友們學習。

如何用Visual Studio 2010 編譯ZLib Lib:
http://blog.sina.com.cn/s/blog_6e0693f70100sjgj.html

編譯好的Windows DLL:
http://www.winimage.com/zLibDll/index.html

2013年5月14日

3D程式開發準備(3D Programming Beginning) #2 OpenGL 程式庫編譯設定與四種可用資源(freeglut,SDL, Allegro, GLFW)



各種Open GL程式庫編譯環境設定:

GLUT與GLEW:  使用早期的 glew 與 freeglut 程式庫
   Setting up OpenGL, GLEW, and FreeGLUT in Visual C++
       
   亦可參考這篇...
   Compiling OpenGL Progams at Home Using Visual Studio


隨著OpenGL的版本與功能演進,可以用的程式庫資源如下...

freeglut - 支援 Windows
     http://freeglut.sourceforge.net

SDL - 支援 Windows, Linux, OSX
     http://www.libsdl.org/

Allegro - 支援 Windows, Linux, OSX, IOS(iPhone/iPad)
     http://alleg.sourceforge.net/

GLFW - 支援 Windows, Linux, OSX
      http://www.glfw.org/index.html

2013年4月15日

3D程式開發準備(3D Programming Beginning) #1 OpenGL 學習資源

OpenGL 學習資源

編譯環境設定:

  使用早期的 glew 與 freeglut 程式庫
   Setting up OpenGL, GLEW, and FreeGLUT in Visual C++
       http://openglbook.com/setting-up-opengl-glew-and-freeglut-in-visual-c/

   可參考第二篇相關文章" #2 OpenGL 程式庫編譯設定與四種可用資源(freeglut,SDL, Allegro, GLFW)"

線上網頁版電子書 :

   OpenGLBook.com (OpenGL 4.0) - A Free OpenGL Programming Book
       http://openglbook.com/the-book/

   OpenGL Insights - OpenGL, OpenGL ES, and WebGL community experiences
       http://openglinsights.com/

   GPU Gems 3 線上版
       http://http.developer.nvidia.com/GPUGems3/gpugems3_ch01.html

   Learning Modern 3D Graphics Programming 網頁版
       http://www.arcsynthesis.org/gltut/

2013年3月12日

Visual Studio Express 與 Professional (專業版) 的差異


最近安裝了Visual Studio 2010 Express的軟體(C++, C#),想了解與專業版(Professional)的差異,於是編譯測試了一些程式碼範例。

Visual Studio C++ Express為例,我發現可產生Lib, DLL, EXE等檔案,也可以透過內附的 MASM ml.exe 編譯 x86 組合語言的 asm 程式,但只能產生32位元版本的程式檔案。
從 UI 介面上亦發現支援編譯產生 Mutl-Threaded 或 Open MP 的 Code

其他較清楚的差異說明資訊,終於在網路上發現微軟官方的說明,分享給大家參考。
(下次如果老闆或主管問為什麼要買專業版而不用免費版時,這些資訊就可以拿出來用。)

上述網頁中微軟的相關說明文字摘錄於下:

QVisual Studio Express Professional 以上版本的主要功能差異?

AExpress僅提供最基本開發功能供學習及上手用,Professional/Premium/Ultimate 主要是供專業開發者/企業及團隊開發用,因功能差異點很多,但對於專業開發者實務開發上,在此列出 Express 版的主要差異,
1. 有限的專案範本與專案類型的支援
Visual Studio Express 版大多內建於各式 Microsoft 開發套件 (SDK),例如 Visual Studio 2010 Express for Windows Phone 內建於 Windows Phone SDK 7.1。還有些是可以獨立安裝的,如開發 ASP.NET / ASP.NET MVC Visual Web Developer Express,或開發 Windows Form 應用程式的 Visual Basic Express, Visual C++ ExpressVisual C# Express
依據不同的用途,Express 版僅提供最基本的專案範本,從網路上下載的一些專案類型或程式碼範例很有可能無法開啟,原因可能是少了專案範本、項目範本,例如:安裝專案 (Setup Project)、單元測試專案、WCF 服務、SQL Server 報表應用程式、工作流程應用程式等。
除此之外,像是類別設計師 (Class Designer)、程式碼定義視窗 ( Code Definition Window ) 等則無法使用。
2. 缺少巨集功能
一般在開發專案時,會利用巨集功能處理一些重複性的編輯工作,在 Visual Studio 2010 Express 無法使用。
3. 缺少 Visual Studio 2010 擴充管理員 ( Add-Ins, Wizard, VSPackages … )
Visual Studio 2010 擴充管理員提供 Visual Studio 2010 的擴充能力,可以下載並安裝許多好用的免費元件、擴充套件及範本、範例程式等,使用 Express 版無法使用擴充管理員。
關於一些常用的擴充套件,可以參考 Visual Studio 2010 開發技巧文章  Visual Studio Gallery,可以找到很多非常實用的套件。
4. 缺乏版本控管及完整軟體生命週期管理機制
Visual Studio 2010 Professional / Premium/ Ultimate 內建了與 Team Foundation Server (TFS) 伺服器整合的相關功能,但是在 Visual Studio 2010 Express 裡是不支援的。
5. 偵錯工具(Debugging Tools)
偵錯功能是開發過程中極其重要的功能,Visual Studio 2010 Express 裡有基本的功能,例如設定中斷點、單步執行、監看式視窗 (Watch Window)、本地變數視窗 (Local Window)、呼叫堆疊視窗 (Call Stack Window)、即時視窗 (Immediate Window)、輸出視窗 (Output Window) 等。
但還有一些常見的偵錯功能在 Visual Studio 2010 Express 並不提供,例如:附加至處理序 (Attach to process)、自動視窗 (Autos Window)、中斷點視窗 (Breakpoints Window)、呼叫瀏覽器 (Call Browser)JIT 偵錯 (Just-In-Time Debugging)
6. 單元測試 (Unit Test) - Express 版不提供單元測試功能
7. 64 位元程式開發  – Express 版不支援 64 位元應用程式開發
8. 若是 Web 開發者 - 下表列出 Visual Studio 2010 Professional 中可用的額外功能。更高階版本 – Premium Ultimate 亦包含 Professional 版的全功能,詳細功能比較,請參考 - Visual Studio 2010 版本比較表
功能
詳細資料
Web 控制項程式庫範本
Web 控制項程式庫專案範本可讓開發人員撰寫自訂的 Web 伺服器控制項。範本會加入建立控制項所需的專案項目,接著才能將控制項加入至任何 Web 專案。
Windows Presentation Foundation (WPF)
Windows Presentation Foundation (WPF) 提供統一的程式撰寫模型 (Programming Model),可為使用者建置豐富的 Windows 用戶端,在其中整合 UI、媒體和文件。
ASP.NET Crystal Reports
Crystal Reports Visual Studio 的報表工具,可讓開發人員建立互動、具簡報品質的內容。
SQL Server Compact Edition
SQL Server Compact Edition 是一款免費且容易使用的內嵌式資料庫引擎,可讓您建置穩固的 Windows 桌面及行動應用程式,以在所有 Windows 作業系統 (包括 Windows XPVistaPocket PC 以及 Smartphone) 上執行。
其他XML 功能
Visual Studio 包含 XML 支援,例如:
·         XSLT 偵錯工具。
·         XSD 結構描述設計工具。
·         XML 執行個體建立 XML 結構描述的能力。
·         XML 編輯器檢視 XSLT 輸出的能力。
·         編輯 XSLT 樣式表時的智慧驗證支援。
·         用於 XML 編輯的即時線上工具列。
其他程式碼編輯功能
Visual Studio 包含其他程式碼相關功能,例如 [程式碼定義] 視窗和更多的重構 (Refactoring) 支援。
[程式碼定義] 視窗是唯讀的編輯器檢視,可顯示使用中專案儲存在程式碼檔案中或加以參考之符號的定義。
重構 (Refactoring) 是在程式碼撰寫之後,藉由變更程式碼內部結構來改善程式碼的程序,這項程序不會變更程式碼的外部行為。
其他建置支援
Visual Studio 包含其他建置支援,包含定義建置前和建置後命令的功能、強式名稱簽署,與程式碼存取安全性 (CAS) 設定。
其他程式碼撰寫公用程式
Visual Studio 包含其他程式碼撰寫公用程式,例如原始檔控制的整合支援。它同時含轉換公用程式,可將 Visual Basic 6.0 專案轉換為 Visual Studio 中的 Visual Basic 專案。

2013年3月11日

Visual Studio C++ 2010 編譯設定參考


Visual Studio C++ 2010 編譯設定參考

  Solution Explorer 下 點選 Solution項目按右鍵選 Properties
    Property Pages 視窗
      Configuration Properties (Debug Version之$(Configuration)為Debug)
         General
            Output Directory => $(ProjectName)$(Configuration) (所設定之值存入$(OutDir) )
            Intermediate Directory => $(ProjectName)$(Configuration)\tmp
            Target Name => $(ProjectName)
         C/C++
           General
             Additional Include Directories => (#include 檔案的路徑,使用$(SolutionDir)要注意 sln檔所在的目錄,若需 include外部 lib,需加入相關 header檔的路徑。程式中的 #include 後的 header檔名內盡量不用相對路徑或絕對路徑,減少因程式或所使用參數之目錄發生異動,造成無法 include到正確路徑的 header檔。)
         Linker  (執行檔或DLL檔)
           General
             Output File => $(OutDir)xxx.exe ($OutDir為前面"Output Directory"所設定之目錄)
             Additional Library Directories => (設定所需其他 lib 檔 的目錄集合,編譯後產生的 lib檔可統一集中手動複製到專案目錄下的"Lib Debug"或"Lib Release"供其他程式專案使用)
           Input
             Additional Dependencies => (放入所要連結的外部 lib檔案名稱,若Debug版與Release版檔名不同,則需注意設定正確。)

         Librarian  (Lib檔)
           General
             Output File => $(OutDir)xxx.lib ($OutDir為前面"Output Directory"所設定之目錄)
             Additional Dependencies => (意義同上)
             Additional Library Directories => (意義同上)